openkinectのウェブサイトからxbox kinectを使用する簡単なインストールをしています。問題は、OSXディストリビューションがないことと、自作があなたのためにインストールを処理すると想定されていることです。OS XでRPATHを変更する方法
インストールの最後のステップでは、私のインストールに何が問題なのかのヒントを得ました。
私はサイトから言われました。 「あなたはリンクに問題がある場合は、[次のコマンドを使用して各libfreenect LIBのRPATHを変更する必要があります。」
for i in /opt/local/lib/libfreenect*.dylib; do sudo install_name_tool -id $i $i; done
sudo install_name_tool -change libfreenect.0.2.dylib /opt/local/lib/libfreenect.0.2.dylib /opt/local/lib/libfreenect_sync.dylib
sudo install_name_tool -change libfreenect.0.2.dylib /opt/local/lib/libfreenect.0.2.dylib /opt/local/lib/libfreenect_cv.dylib
sudo install_name_tool -change libfreenect_sync.0.2.dylib /opt/local/lib/libfreenect_sync.0.2.dylib /opt/local/lib/libfreenect_cv.dylib
for i in glview regview hiview glpclview tiltdemo record cppview cvdemo; do sudo install_name_tool -change libfreenect.0.2.dylib /opt/local/lib/libfreenect.0.2.dylib /opt/local/bin/$i; sudo install_name_tool -change libfreenect_sync.0.2.dylib /opt/local/lib/libfreenect_sync.0.2.dylib /opt/local/bin/$i; done
私のRPATHは間違いなく間違ってに設定されています。そして、CMakeでビルドするときのこの二次メッセージは間違いなく私の疑問を確認します。
CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default. Run "cmake
--help-policy CMP0042" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
MACOSX_RPATH is not specified for the following targets:
fakenect
freenect
freenect_sync
唯一の問題は、上記のコマンドが機能しないことです。理由は私のMacは私のすべてのファイルを/usr/local/lib/
の下に置き、/opt/local/lib/
をにしないという理由があります。私はusr
からopt
にファイルのいくつかをコピーし、それはリンクエラーの数を減らしましたが、まだ残っています。繰り返しますが、ライブラリをすべてopt
にロードしないと、この問題が解決しやすくなります。
上記のコードの最初のブロックを適切に実行する方法についての助けがあれば助かります!
サブノート(同様の問題):
- https://openkinect.org/wiki/Getting_Started#Manual_Build_under_OSX
- CMake warnings under OS X: MACOSX_RPATH is not specified for the following targets
- Can you please help me understand how Mach-O libraries work in Mac Os X?