我使用macports安裝了boost。該文件似乎是在/ opt /本地/包括/升壓/未找到-lboost_system庫
我的makefile不再工作,我得到以下錯誤
Undefined symbols:
"boost::system::generic_category()", referenced from:
__static_initialization_and_destruction_0(int, int)in client.o
__static_initialization_and_destruction_0(int, int)in client.o
"boost::system::system_category()", referenced from:
boost::asio::error::get_system_category() in client.o
boost::system::error_code::error_code()in client.o
__static_initialization_and_destruction_0(int, int)in client.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [client] Error 1
在學校的解決方案是使用-lboost_system作爲參數到g ++,但現在我已經把項目帶回了我的mac,這是行不通的。我認爲這主要是由於在學校boost文件在usr/local/lib(或類似的地方)的事實。
當我加入-lboost_system說法我得到以下信息
g++ -I/opt/local/include -lboost_system -o client client.o Packet.o
ld: library not found for -lboost_system
collect2: ld returned 1 exit status
make: *** [client] Error 1
我使用-L和-l嘗試了一些變化,但我似乎無法找到一個可行的組合。在學校我也不必使用-L。我在這裏閱讀了一些關於類似問題的其他帖子,但是他們通過添加-l標誌來修復它,這些標誌不適合我。
幫助!謝謝!
你會看看那!所有文件都位於/ opt/local/lib中。讓我們希望這個作品 – jim
它的工作!非常感謝。我有很多要學習的。 – jim
@jim你至少還有一件事要學習。如果答案正確,你需要接受答案。這就是這個合作問答系統的工作原理。 – GrafikRobot