I created a .so
file and put it in the location /opt/lib
and added this path to LD_LIBRARY_PATH
now after this when I try to compile my main program with the following command:
g++ -Wall -I/home/alwin/Development/Calculator/ main.cpp -lcalc -o calculator
I get the following error:
/usr/bin/ld: cannot find -lcalc
collect2: ld returned 1 exit status
Can someone help me with this. I created the shared library using the code blocks IDE
Add
-L/opt/lib
to your compiler parameters, this makes the compiler and linker search that path forlibcalc.so
in that folder.You need to add
-L/opt/lib
to tellld
to look there for shared objects.When you make the call to gcc it should say
I have a similar problem with auto-generated makes.
You can create a soft link from your compile directory to the library directory. Then the library becomes "local".
@Alwin Doss You should provide the -L option before -l. You would have done the other way round probably. Try this :)