"找不到-lboost-system",但库存在于文件系统上

Mat*_*gan 0 c++ linker g++

这是带有相关错误的make命令:

g++ -g -O2 -Wl,-rpath=../../../external/boost-1.55.0-x86_64-linux-gcc-4.8.2/lib -pthread -o xml_wrapper_tester xml_wrapper_tester-runner.o  -L../../../external/boost-1.55.0-x86_64-linux-gcc-4.8.2/lib -lboost-system ../xml_wrapper/.libs/libxml_wrapper.a -pthread
/usr/bin/ld: cannot find -lboost-system
Run Code Online (Sandbox Code Playgroud)

进入make文件所在的目录和ls -l指定-L的路径显示该库存在.

[mehoggan@localhost xml_wrapper_tester]$ ls -l ../../../external/boost-1.55.0-x86_64-linux-gcc-4.8.2/lib | grep system
-rw-rw-r--. 1 mehoggan mehoggan  217676 May  5 22:37 libboost_filesystem.a
lrwxrwxrwx. 1 mehoggan mehoggan      29 May  5 22:37 libboost_filesystem.so -> libboost_filesystem.so.1.55.0
-rwxrwxr-x. 1 mehoggan mehoggan  116955 May  5 22:37 libboost_filesystem.so.1.55.0
-rw-rw-r--. 1 mehoggan mehoggan   49154 May  5 22:37 libboost_system.a
lrwxrwxrwx. 1 mehoggan mehoggan      25 May  5 22:37 libboost_system.so -> libboost_system.so.1.55.0
-rwxrwxr-x. 1 mehoggan mehoggan   20401 May  5 22:37 libboost_system.so.1.55.0
Run Code Online (Sandbox Code Playgroud)

为什么g ++无法找到boost_system?

Sle*_*Eye 5

错误似乎与-lboost-system您指定的参数有关,这确实不在您列出的文件夹中.

请尝试使用-lboost_system.