我想用这样的语句编译代码:
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 的新手。 期待您的提示。谢谢。
最佳答案
问题是命令行中包含反斜杠:
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
要解决这个问题,只需删除反斜杠字符即可。
关于linux - ubuntu - 编译时找不到共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295469/