Я делаю простую установку с сайта openkinect для использования xbox kinect. Проблема в том, что нет дистрибутива OSX, и предполагается, что homebrew позаботится об установке для вас.Как изменить RPATH на OS X
На последнем этапе установки я столкнулся с полезной подсказкой о том, что не так с моей установкой.
Об этом сообщается на сайте. «Если у вас есть проблемы с связыванием, вы должны изменить RPATH каждого libfreenect Lib [используя следующие команды]:»
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/
и NOT /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?