I am trying to link some libraries my g++ code and I am getting the following error:

$ g++ -O myprob.o  -o myprob -Wl,-rpath $PATH/lib -L$PATH/lib -lprob7_cpp -lprob7
g++.exe: error: c:\mypath;c:\mypath\lib: Invalid argument

If I try and run this command without the -Wl,-rpath $PATH/lib part, which I think I should be able to do, then I get this error:

$ g++ -O myprob.o  -o myprob -L$PATH/lib -lprob7_cpp -lprob7
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lprob7_cpp
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lprob
collect2.exe: error: ld returned 1 exit status

I have been tinkering with this for hours and can't seem to figure this out.

I have already compiled my .cpp files successfully with the following command:

$ g++ -O -I$PATH/include -c myProb.cpp -o myProb.o

How can I correct these errors?

  • g++ failed to find library prob7_cpp and prob7, namely libprob7_cpp.a and libprob7.a files in library search path set by -L. Check your configuration and files you aleady built. – yaegashi Aug 21 '15 at 11:03
  • The $PATH is a variable in linux containing all paths to look for command binaries when calling them by name. You probably were trying to use the path to working directory $PWD? – danba Nov 14 '18 at 11:37

Do not use your $PATH variable in the compile line options !!!

Try to use this command line in place:

$ g++ -O myprob.o  -o myprob -Wl,-rpath ./lib -L./lib -lprob7_cpp -lprob7
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.