2011-06-15 15 views
5

10.6でアプリケーションが正しく構築され、正常に動作します。 Base SDKを10.6に設定し、Mac OS X Deployment Targetを10.5に設定しました。Mac OS X libcurl dylib互換バージョン

私のアプリケーションはlibcurl.dylibシステムを使用しています。プロジェクトにdylibを追加するのではなく、-lcurlをビルド設定のリンカフラグに追加するだけです。私は10.5.8上でアプリケーションを起動すると、私は次のエラーを取得する(。私はそれを両方の方法を試してみましたけど)

dyldのエラーメッセージ:ライブラリがロードされていませんします。/ usr/lib/libcurlの。参照4.dylib

:/アプリケーション/マイApplication.app/Contents/MacOS/MyApplication

理由:互換性のないライブラリのバージョン:

MyApplicationをが必要とするバージョン6.0.0または 後に、しかしlibcurl.4.dylibは バージョン5.0.0

案の定を提供し、私は、アプリケーションのバイナリをotool -L場合、私はlibcurlをするために、以下の取得:

は/ usr/libに/ libcurlの.4.dylib(互換性バージョン6.0.0、現行バージョン6.1.0)

この問題を回避する方法はありますか、または自分のlibcurlビルドを静的にリンクするだけですか?

答えて

3

Base SDKを10.5に設定しましたか?

$ otool -L /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib 
/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libcurl.4.dylib: 
    /usr/lib/libcurl.4.dylib (compatibility version 6.0.0, current version 6.1.0) 
    ...] 
$ otool -L /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib 
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libcurl.4.dylib: 
    /usr/lib/libcurl.4.dylib (compatibility version 5.0.0, current version 5.0.0) 
    [...] 
+0

これは機能し、ありがとう! –