5

Hoookay、

だから私はこれに対する12の「libdummyをロードする」答えを取得しようとしていることを知っていますが、ここに行きます...

junk.frameworkは、別のプロジェクト(junk.app)のいくつかのオブジェクトをエクスポートしているので、クラスターのremote.appノードで使用できます。junk.frameworkをコンパイルして(動的ロードではもう意味がないことに気づきました)、remote.appをコンパイルしてjunk.frameworkにリンクできます。

ただし、remote.appを実行すると、次のようなエラーが発生します。

dyld: Library not loaded: @executable_path/../Frameworks/libtiff.dylib
  Referenced from: /Users/slate/Documents/junk/build/Development/junk.framework/Versions/A/junk
  Reason: image not found

何が起こっているのかというと、junk.frameworkが特定の場所からlibtiff.dylibをロードしていて、それを見つけることができないということだと思います。junk.frameworkは、私が取り組んでいるもう1つのプロジェクトであり、(最終的に)ビルドする必要があります。

get infoジャンクターゲットのlibtiff.dylibにアクセスすると、/Users/slate/Documents/osirix/osirix/Binaries/LibTiff/libtiff.dylibパスとして表示されます...そしてabsolute path選択されました。では、なぜそれを探していないのですか?

ええと...なぜ@executable_path/../を見ているのですか???? 変更できるように、その設定はいったいどこにありますか?

編集 - -

otool -Lは私にこれを与えます:

/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 677.26.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.54.0)
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
@executable_path/../Frameworks/libtiff.dylib (compatibility version 11.0.0, current version 11.4.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/QTKit.framework/Versions/A/QTKit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 1327.73.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 32.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 476.19.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 34.0.0)
/System/Library/Frameworks/vecLib.framework/Versions/A/vecLib (compatibility version 1.0.0, current version 242.0.0)
4

1 に答える 1

9

@executable_path設定は、libtiff.dylibがビルドされたときに指定されました。(独自のdylibまたはフレームワークをビルドする場合、それはインストールディレクトリ(INSTALL_PATH)のビルド設定です。)これは、install_name_toolコマンドで変更できます。

于 2010-06-04T16:12:30.180 に答える