X ++で記述したコードで使用するために、C++で記述したソルバーをMac(OS X)にインストールしようとしています。
ソルバーのドキュメントはこれを言います:
必ず「。」を付けてください。あなたの
DYLD_LIBRARY_PATH
のために
- 既製の実行可能ファイルを実行する
- libamg.dylib(およびgfortran RTSlibs)とリンクする
これの意味がよくわかりません。どこを変更する必要がありますか?
私はいくつかのグーグルを行いましたが、私のような初心者のために十分簡単なものに出くわしていません!私をオンラインリソースに誘導したり、環境変数を設定する方法と場所のa-b-csを私に与えても構わないと思っている患者がいる場合、私は非常に感謝します。
これは環境変数であるため、通常はターミナルで次のように設定されます。
_export DYLD_LIBRARY_PATH=someValue
_
_man dyld
_さんのコメント:
_
DYLD_LIBRARY_PATH
_これは、ライブラリーを含むディレクトリーのコロンで区切られたリストです。動的リンカーは、ライブラリーのデフォルトの場所を検索する前に、これらのディレクトリーを検索します。既存のライブラリの新しいバージョンをテストできます。
プログラムが使用するライブラリごとに、ダイナミックリンカーは_
DYLD_LIBRARY_PATH
_の各ディレクトリでライブラリを順番に検索します。それでもライブラリが見つからない場合は、_DYLD_FALLBACK_FRAMEWORK_PATH
_と_DYLD_FALLBACK_LIBRARY_PATH
_を順に検索します。_
-L
_オプションをotool(1)
に使用します。実行可能ファイルがリンクされているフレームワークと共有ライブラリを発見する。
あなたはおそらく次のようなものが欲しいでしょう
_export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
_
検索された場所のリストの前に_.
_(現在のディレクトリ)を追加します。私の未変更のOS Xでは、_DYLD_LIBRARY_PATH
_には現在の値がありません。
_$ echo $DYLD_LIBRARY_PATH
$
_
プログラムの実行方法に応じて、これを別の方法で設定する必要があります。 Xcode(どこにあるかはわかりません)。
システムにexport DYLD_LIBRARY_PATH
を設定しないでください。
共有ライブラリのパスは、otool -L
およびinstall_name_tool
を使用して修正できます。
たとえば、Perl DBD-MySQLをコンパイルした場合、リンカーはMySQLをインストールした場所を知らないため、Perl DBD-MySQLを使用できません。
># make
....
># otool -L blib/Arch/auto/DBD/mysql/mysql.bundle
blib/Arch/auto/DBD/mysql/mysql.bundle:
libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
#> install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib blib/Arch/auto/DBD/mysql/mysql.bundle
># otool -L blib/Arch/auto/DBD/mysql/mysql.bundle
blib/Arch/auto/DBD/mysql/mysql.bundle:
/usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
#> make test
...
Result: PASS
#> make install
これはそれと同じくらい簡単です。
Xcode 4では、これをプロジェクトスキームに追加して、次のようなエラーを回避できます。
dyld: Library not loaded: @loader_path/libLeap.dylib
Referenced from: /Users/paulsolt/Library/Developer/Xcode/DerivedData/LeapTest-eqcxmzewheyjusgrcszyvlcxlgna/Build/Products/Debug/LeapTest
Reason: image not found
メニューで、[製品]-> [スキームの編集]-> [引数]タブ-> [環境変数]の追加->キー:DYLD_LIBRARY_PATH値:/ Users/MyUserAccount/path/to/libをクリックします。
ユーザーアカウントへのパスとライブラリフォルダーへの完全パスを変更します。
ビルドして実行できるはずです。