I will start by saying that I am new to gcc and makefiles. I have a .so file on the desktop (~/Desktop) called lib.so
. I want to link my program (called myProgram) to it. What I wrote in my makefile is:
g++ myProgram.o -L ~/Desktop -l lib -o myProgram
When I run make
I get an error:
/usr/bin/ld: cannot find -llib
I also tried -l lib.so
and got the same error.
What is the correct way to link?
Two solutions:
Rename the file to libsomething.so
, then use -l something
. The linker automatically wraps the name with lib
prefix and .so
suffix (or .a
suffix for static libraries).
Use the option -l :lib.so
. When you prefix the name with :
, the linker uses the name as given.
These are explained in the ld
man page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With