私はOpenCVに決定的に依存するプログラムを書きました。私は最新の安定バージョンからOpenCVをコンパイルしましたが、OpenCVを自分でコンパイルする必要がないように、このプログラムを配布したいと思います。プログラム自体はg++を使用してコンパイルされます。
私はこの問題を解決するためにいくつかのことを試みました:
OpenCVを静的ライブラリとしてコンパイルすることはできますが、OS Xの一部のライブラリは静的にリンクできないため、プログラムをこれらのライブラリに静的にリンクすることはできません。私はここでこの情報を見つけました:MacOSでの静的リンクと動的リンクの混合
XCodeに移動して、コマンドラインプロジェクトとして使用しました。検索パスとインストール場所を@rpathに設定し、ファイルを実行可能ファイルにコピーするためのビルドフェーズを追加しました。コンパイルされたファイルに正しいリンクがあるかどうかをotoolで確認しましたが、クリーンなマシン(OpenCVライブラリがないマシン)では「ライブラリが見つかりません@ rpath /libopencv...」エラーで失敗します。(はい、すべてのMacはLionを使用しているため、@ rpathが機能するはずです)。この答えはここで見つかりました:Xcodeは間違ったパスでdylibを検索し続けます
コンパイルされたファイルとライブラリの両方でrunnigotool-Lから得られる結果は次のとおりです。
@rpath/libopencv_core.2.4.dylib (compatibility version 2.4.0, current version 2.4.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
だから...私は何が間違っているのですか?そして、どうすればこれらのライブラリをプログラムと一緒に配布できますか?