2013-03-28 35 views
1

嘗試了幾種解決方案後,我想我需要一些幫助以瞭解如何在Mac OSX上正確構建Boost Lion,在XCode 4上構建一個跨平臺的應用程序並沒有成功= sld:找不到-lboost_system的庫:錯誤:linker命令失敗,退出代碼爲1(使用-v查看調用)

我已經關注this指南。並沒有在序列以下命令:

cd /Users/me/Documents/boost_1_53_0 
./bootstrap.sh --prefix=installation 
cd /Users/me/Documents/boost_1_53_0/tools/build/v2 
./bootstrap.sh 
./b2 install --prefix=installation 
export PATH=$PATH:installation/bin 
cd /Users/me/Documents/boost_1_53_0 
./b2 --build-dir=installation toolset=darwin cxxflags="-arch i386" address-model=32 architecture=x86 stage 

我的問題的標題錯誤試圖編譯上了XCode應用程序後,這些編輯:

添加了這些庫的「鏈接二進制隨着「下的 「構建階段庫」:

libboost_filesystem.dylib 
libboost_system.dylib 

並添加 「$(SRCROOT)/../ boost_1_53_0」 的頭文件和庫搜索路徑。

看看Stackoverflow上的其他一些問題很多人似乎用makefile建立了boost並在makefile中傳遞了LDFLAGS = -L/opt/local/lib之類的東西;

我在哪裏可以找到一個很好的教程或建設提升示例?我沒有製作我自己的makefiles的經驗,雖然我在這裏和那裏做了一些簡單的編輯,但是我已經搞砸了。

+0

你想用'cxxflags =「 - arch i386」'做什麼? –

+1

您發佈的步驟是用於構建Boost,而標題似乎是嘗試使用Boost庫時的鏈接器錯誤。那麼你的問題是什麼?您是否在構建Boost庫或使用它們時遇到困難? – Praetorian

+0

@Praetorian 這是使用這些選項構建的boost所導致的錯誤,我想知道構建boost的一般過程以及如何在Xcode中使用它。 – Hobbyist

回答

-1

檢查您的增強dylibs在哪裏。可能是在「$(SRCROOT)/../ boost_1_53_0」中的某個中間目錄下?例如「$(SRCROOT)/../ boost_1_53_0/lib」。如果在編譯設置中將完整路徑添加到「庫搜索路徑」中。
順便說一句:你確定要動態連接而不是靜態連接嗎?

+0

我試過爲每個Header和Library Search Paths指定路徑,希望這會成爲問題,然後我由於不確定性而默認返回根路徑。 我想靜態鏈接,但沒有找到替代方法,你能告訴我一個例子嗎? – Hobbyist

+0

這不是關於標題路徑,只是庫搜索路徑。現在要靜態鏈接,您需要靜態編譯boost(即在運行b2時添加'link = static' attr參見http://boost.2283326.n4.nabble.com/Install-boost-on-OS-X-via- homebrew-with-c-11-and-libc-tt4635648.html#a4635677的一些想法(掃描整個線程 - 它的幫助)。之後,你應該有擴展名爲.a的庫,添加它們而不是dylibs。 – cody

+0

看起來好像我在想我,我應該問'如何構建和編譯iPhone的Boost',而不是錯誤,這可能是由於編譯不正確導致的= s – Hobbyist

相關問題