2009-07-11 21 views
4

にブーストを使用してハッキングの多くの後、私は、iPhoneのためのデバイスとシミュレータの両方をブーストライブラリをコンパイルするために管理しているが、私はそれらを使用しようとすると、私は言ってXcodeのデバッガでエラーが表示されます。はiPhone

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 

が、何:

これは私がブーストを構築するために使用されるスクリプトはありますか?

は私が間違っているかもしれない

+0

あなたは今まで、この問題の解決方法を見つけましたか? –

+0

この関連の答えを参照してください:http://stackoverflow.com/questions/1577838/how-to-build-boost-libraries-for-iphone – Aleph7

答えて

2

(.A-ファイルおよびプラットフォーム/ usr/libに.soのファイルの両方がある)動的ローディングのためにコンパイルされたライブラリですが、私はあなたがする考えるアプリケーションを静的にboostする必要があります - dyldからのエラーメッセージは、あなたが現在動的ブーストライブラリにリンクしていることを示唆しています(エラーメッセージの末尾に.soという接尾辞があります - 静的なライブラリとリンクしたい - libboost.a

あなたのアプリは、おそらく次のようなものにリンクしたいと考えています:

-iboost_graph -static 

(.Aファイルを仮定すると、libboost_graph.aと呼ばれている)

+0

-staticとリンクするとコンパイラは別のリンカーに戻ってしまいます。別のエラー: "ld_classic:-lcrt0.oのファイルが見つかりません" atleast私はgoogleに別のコンパイラフラグを持っています:) – possan