2009-07-11 48 views
4

黑客我已成功地編譯升壓庫iphone,器件和模擬器,但是當我嘗試使用他們我在Xcode調試得到一個錯誤說的很多後:在iPhone上使用boost

dyld: Library not loaded: libboost_graph.so.1.40.0

哪些猜測是一個動態庫加載程序,這是不允許在iphone上。我將該應用程序與-Lboost_graph作爲編譯器標記進行鏈接。

這是我用來建造提振腳本:

./bjam $1 $2 $3 \ 
     toolset=darwin \ 
     architecture=arm \ 
     target-os=iphone \ 
     macosx-version=iphone-3.0 \ 
     define=_LITTLE_ENDIAN \ 
     --layout=system \ 
     --libdir=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib \ 
     --includedir=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include \ 
     link=static \ 
     runtime-link=static 

./bjam $1 $2 $3 \ 
     toolset=darwin \ 
     architecture=x86 \ 
     target-os=iphone \ 
     macosx-version=iphonesim-3.0 \ 
     --layout=system \ 
     --libdir=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib \ 
     --includedir=/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/include \ 
     link=static \ 
     runtime-link=static 

我猜我缺少一些非常基本在這裏,但什麼?

是編譯爲動態加載的庫(有既是.A-文件,並在平臺上的/ usr/lib下一個.so文件)

+0

你有沒有找到解決這個問題嗎? – 2009-09-10 00:12:26

+0

看到這個相關的答案:http://stackoverflow.com/questions/1577838/how-to-build-boost-libraries-for-iphone – Aleph7 2011-01-08 07:49:57

回答

2

我可能是錯的,但我認爲會需要將應用程序與提升靜態鏈接 - 從dyld的錯誤信息提示您當前鏈接到動態Boost庫(注意:在錯誤信息的.so後綴 - 你想被鏈接到的靜態一個 - libboost.a

你可能想你的應用程序的東西,如鏈接:

-iboost_graph -static 

(假設某文件被稱爲libboost_graph.a