我想用这样的声明编译代码:
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的新手。 期待您的提示。感谢。
答案 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
要解决此问题,只需删除反斜杠字符。