2012-01-23 9 views
0

Macportを使用してインストールしたライブラリを使用するゲーム用のアプリケーションバンドルを作成しようとしています。私はバンドルの内部に依存関係を置いていますが、それをどうやって行うかについては迷っています。いくつかのmacportsライブラリを実行可能ファイルでパッケージ化してアプリケーションバンドルを作成する

私はゲームをコンパイルし、実行ファイルがバンドル内を検索するようにinstall_name_toolを使用してパスを変更しようとしましたが、エラーは発生しませんがパスは変更されません。例: install_name_tool -change libSDL-1.2.0.dylib @executable_path /../ Frameworks/libSDL-1.2.0.dylib meandmyshadow

実行可能ファイルは、CMakeによって生成されたMakefileを使用して作成されました。

XCodeをお勧めしますか?私が取っているステップから欠けているものはありますか?

答えて

1

install_name_toolを使用する方法についてのあなたの特定の質問に答えるために:あなたが参照を変更するinstall_name_toolを使用する場合

meandmyshadow: 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11) 
    /opt/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.3.0) 
    ... 

:あなたはotool -L meandmyshadowを使用してmeandmyshadowのライブラリリンケージを見れば、それはおそらく、このようなものを見てみましょうプログラムでは、完全なリファレンスを使用する必要があります。参照libSDL-1.2.0.dylibを変更することを指定しましたが、絶対パスを指定する必要があります。 /opt/local/lib/libSDL-1.2.0.dylib:アプリケーションバンドルにライブラリを含める方法について大きな疑問については

install_name_tool -change /opt/local/lib/libSDL-1.2.0.dylib @executable_path/../Frameworks/libSDL-1.2.0.dylib meandmyshadow 

、あなたはinstall_name_toolと上記のやっているよう手動で行うか、自動的にそれをしないdylibbundlerをしようと考えることができます。 MacPorts:sudo port install dylibbundlerを使用してインストールできます。

関連する問題