2013-06-25 43 views
0

我想用这样的语句来编译代码:Ubuntu的 - 无法找到共享库在编译

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

你为'ls -la/usr/lib/boost/libboost_regex.a'获得了什么输出? –

+0

-rw-r - r-- 1 root root 2627884 cze 25 11:11 /usr/lib/boost/libboost_regex.a – friko

+0

你的命令行中是否包含反斜杠(“\”)?如果它是一行代码,你最终会搜索'/usr/lib/boost/libboost_regex.a' - 你可以尝试删除反斜杠吗? –

回答

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 

要解决它,只需删除反斜杠字符。