ubuntu - 编译时找不到共享库

时间:2013-06-25 10:55:41

标签: linux boost compilation

我想用这样的声明编译代码:

 c++ -I /usr/boost_1_53_0 boost_test.cpp -o boost \ /usr/lib/boost/libboost_regex.a

但它会抛出

c++: error:  /usr/lib/boost/libboost_regex.a: No such file or directory

我确信,libboost_regex.a是我上面提到的目录。 怎么解决?我是ubuntu和linux的新手。 期待您的提示。感谢。

1 个答案:

答案 0 :(得分:0)

问题是命令行中包含的反斜杠:

c++ -I /usr/boost_1_53_0 boost_test.cpp -o boost \ /usr/lib/boost/libboost_regex.a
                                                  ^
                                                  +-- escaped space character

这个反斜杠会转义以下空格字符,因此路径名有效(使用percent encoding以获得更好的可读性):

%20/usr/lib/boost/libboost_regex.a

要解决此问题,只需删除反斜杠字符。