2012-08-31 2 views
6

OpenMPを使用する単純なクロスプラットフォームライブラリを作成していますが、iPhoneアプリでテストする方法を理解できません。
は私がGCC 4.7で、OS Xを実行しているよ、私は静的ライブラリとして、それをコンパイルし、私もlibgomp.aと一緒にリンクし、Xcodeで私のテストのアプリにそれを追加することができました。アプリケーションはエラーや警告なしで構築しますが、私はiPhoneシミュレータでそれを実行したときに私が得るすべては、このエラーメッセージです:OpenMPを使用するiOS用スタティックライブラリのコンパイル

dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address 
    Referenced from: /opt/local/lib/gcc47/i386/libgomp.1.dylib 
    Expected in: /usr/lib/libSystem.B.dylib 

dyld: Symbol not found: ___emutls_get_address 
    Referenced from: /opt/local/lib/gcc47/i386/libgomp.1.dylib 
    Expected in: /usr/lib/libSystem.B.dylib 
私はそこ ___emutls_get_addressとGCCの以前のバージョンのバグだったが、それがなければならないことを読ん

今すぐ修正。何が間違っているかも考えていますか?

+0

ヘッダーファイルをリンクしましたか?おそらく偽りのようなポストカードや他のものが役立つと思われるような "偽の"フレームワークに恋しているかもしれません... – Ondrej

答えて

2

存在しないダイナミックライブラリを探しています。実際のデバイスではダイナミックライブラリを使用できないため、デバイスでは失敗しますが、ビルドでは失敗します。ライブラリを.aファイルとして手動で再構築し、-l引き数を使用してarntを確認してください。それが私の最高です。これがjailbroken(おそらく真)ではないと仮定すると、あなたは単にそれを手動でリンクする必要があります。プロジェクトにライブラリのコードファイルを追加するだけでよいでしょう。

これが役に立ちます。

関連する問題