C++ 编译器即使在安装之后也找不到 Boost 库

C++ compiler cannot find Boost libraries even after installing them

在编译几个测试应用程序时,出现以下错误:

g++: error: −lboost_system: No such file or directory
g++: error: −lboost_filesystem: No such file or directory

同时 运行 以下命令:

g++ -I/usr/include/boost/ -L/usr/lib/x86_64-linux-gnu/  aescuda.cpp -o test.o −lboost_system −lboost_filesystem

库已安装并存在于如下所示的位置:

<prompt>$ ll  /usr/lib/x86_64-linux-gnu/libboost_system.*
-rw-r--r-- 1 root root 49178 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_system.a
lrwxrwxrwx 1 root root    25 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_system.so -> libboost_system.so.1.54.0
-rw-r--r-- 1 root root 14536 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0
<prompt>$ ll  /usr/lib/x86_64-linux-gnu/libboost_filesystem.*
-rw-r--r-- 1 root root 217628 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_filesystem.a
lrwxrwxrwx 1 root root     29 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so -> libboost_filesystem.so.1.54.0
-rw-r--r-- 1 root root  88936 Jun 20  2014 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.54.0

任何人都可以告诉我哪里错了:(

你在l前面的字符有误:

−lboost_system

它应该是一个 ASCII 连字符:

-lboost_system

这会导致编译器驱动程序将整个字符串视为输入文件名(显然不存在,因此 No such file or directory 错误),而不是要传递给链接器的选项。

(或许可以考虑切换终端字体。)