As a follow up: I tried running >> clang++ -g2 -O3 -l /usr/local/include /usr/local/lib/libcryptopp.a -WI,-L
And got the error: ld: library not found for -l/usr/local/include clang: error: linker command failed with exit code 1 (use -v to see invocation) It seems like the intention of this command was to ask clang to link to the include path to crypto++ but clang doesn't have the include path on in its build tools? Further suggestions or clarifications would be great, I tried googling again and couldn't find anything. On Thursday, September 16, 2021 at 12:04:00 PM UTC-7 Samyukta Yagati wrote: > I'm new to using clang, so to clarify: in my case, I should try "clang++ > -g2 -O3 -I /usr/local/include cryptopp -Wl,-L" (where cryptopp is a > subdirectory of include)? Also, is "-Wl,/usr/local/lib -o test.exe" > intended to be shorthand for "clang++ -g2 -O3 -Wl,/usr/local/lib -o > test.exe"? (and, relatedly, what output should I expect in test.exe?) > > > > On Wednesday, September 15, 2021 at 4:58:05 PM UTC-7 Jeffrey Walton wrote: > >> On Wed, Sep 15, 2021 at 6:39 PM Samyukta Yagati <sa...@berkeley.edu> >> wrote: >> > >> > I installed Crypto++ from source as follows: >> > >> > git clone https://github.com/weidai11/cryptopp.git >> > cd cryptopp >> > Uncommented the CXX flag line in GNUmakefile that adds "-stdlib=libc++" >> because I am using XCode. >> > make -j 8 (8 = value of $(nproc) on my machine if it were linux) >> > sudo make install >> > >> > The make and install complete without errors. I confirmed that >> /usr/local/lib contains libcryptopp.a. >> > >> > When I try to use libcryptopp in a project (in a different directory >> from the cryptopp install), clang (Apple Clang 12.0.0) can't find it. I get >> the following error message: >> > >> > + LD lib/crypto_bench >> > ld: library not found for -l:libcryptopp.a >> > clang: error: linker command failed with exit code 1 (use -v to see >> invocation) >> > >> > ... >> > >> > I also tried updating my PATH variable in bash_profile with the >> location of libcryptopp as follows, then source'd bash_profile again: >> > >> > export PATH="/usr/local/lib:$PATH" >> > >> > However, this resulted in the same error as before when I tried to >> compile the project. I've spent several hours googling and haven't been >> able to find a fix, and I'm wary of manually symlinking the file because it >> can break other installs on my laptop. Any help with fixing this issue >> would be much appreciated. >> >> When linking, use -L to provide a path to the linker. That is, you >> invoke ld directly. If you are passing the linker option through the >> compiler driver, then use -Wl,-L -Wl,<path> >> >> So you would probably use something like: >> >> clang++ -g2 -O3 -I /usr/local/include test.cxx -Wl,-L >> -Wl,/usr/local/lib -o test.exe >> >> You would have to do the same on, say, CentOS, Fedora and Red Hat. Red >> Hat does not put /usr/local on-path for the build tools. >> >> Jeff >> > -- You received this message because you are subscribed to the Google Groups "Crypto++ Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to cryptopp-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/cryptopp-users/7405a8e9-7cad-45a3-b3ab-ac1853c6d227n%40googlegroups.com.