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

时间:2017-11-28 18:53:12

标签: c++ gcc boost ubuntu-14.04

在编译少量测试应用程序时,我收到以下错误:

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

任何人都可以建议我哪里出错:(

1 个答案:

答案 0 :(得分:2)

l

前面有一个错误的字符
−lboost_system

它应该是ASCII连字符:

-lboost_system

这会导致编译器驱动程序将整个字符串视为输入文件名(显然不存在,因此没有此类文件或目录错误),而不是作为传递的选项到链接器。

(也许考虑切换终端字体。)