OSXプロジェクトでdylibを動作させようとしています。
私はいくつかのサンプルを読んでいます、これは具体的には: Xcode4がdylibを追加しています
しかし、私はまだそれを機能させることができません。
これが私が実行したステップです:
- tests.1.dylibをXcodeプロジェクトフォルダーにコピーしました。
- 走った
sudo install_name_tool -id @executable_path/../Frameworks/testing.1.dylib testing.1.dylib
ラン:
otool -L testing.1.dylib
そして以下を受け取りました:tests.1.dylib :
@ executeable_path /../ Frameworks / tests.1.dylib(互換性バージョン2.0.0、現在のバージョン2.0.0)
/usr/lib/libSystem.B.dylib(互換性バージョン1.0.0、現在バージョン159.1.0)プロジェクトにフレームワークとしてを追加しました
testing.1.dylib
。(ライブラリオプション付きのリンクバンドルを使用)。- この時点で、testing1.dylibをコンパイルすると、期待どおりに.App / Frameworkにコピーされないため、手動でフレームワークパスを作成し、testing.1.dylibをそれにコピーします。a)mkdir -p tests.app /Contents/Frameworksb)cptesting.1.dylibtesting.app/Contents/Frameworks
- Xcodeで
Runtime Search Paths
、ターゲットとプロジェクトの両方のを@ executeable_path/../Frameworksに更新します。
次に、testing.appを別の新しくインストールしたマシンにコピーして、実行しようとします。次のエラーが発生します。
dyld:ライブラリがロードされていません:/user/local/lib/testing1.dylib参照元:/Users/me/testing.app/MacOS/./testing理由:画像が見つかりません
私は何が欠けていますか?
注:install_name_toolを実行する場合、sudoを使用する必要があります。そうしないと、次のエラーが発生します。
install_name_tool:入力ファイルを開くことができません:testing.1.dylib for write(許可が拒否されました)install_name_tool:オフセットを探すことができません:0 in file:testing.1.dylib for write(不正なファイル記述子)install_name_tool:できませんファイルに新しいヘッダーを書き込む:testing.1.dylib(不正なファイル記述子)install_name_tool:入力ファイルに書き込まれたものを閉じることができません:testing.1.dylib(不正なファイル記述子)