2013-06-25 64 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 

要解決它,只需刪除反斜槓字符。