2011-11-03 10 views
0

私はopenniでプロジェクトを作成しています。私のメイクファイルを作るときに問題があります。ライブラリがロードされていません:../../Bin/Release/libXnVNite_1_4_0.dylib

Starting /Users/olivierjanssens/Documents/ICT/Master/Thesis/Code/mysuperdemo/qtcreator- build/mysuperdemo... 
dyld: Library not loaded: ../../Bin/Release/libXnVNite_1_4_0.dylib 
Referenced from: /Users/olivierjanssens/Documents/ICT/Master/Thesis/Code/mysuperdemo/qtcreator-build/mysuperdemo 
Reason: image not found 
The program has unexpectedly finished. 

私のcmakeのファイル

cmake_minimum_required(VERSION 2.6) 

PROJECT(mysuperdemo) 

SET(NESTK_USE_OPENNI 1) 
ADD_SUBDIRECTORY(nestk) 
## nestk/UseNestk.cmake.in defines variable to use nestk. 
## It itself includes nestk/deps/cmake/UseEmbeddedNestkDeps.cmake that 
## contains most of the cmake find packages commands. 
INCLUDE("${nestk_BINARY_DIR}/UseEmbeddedNestk.cmake") 

ADD_EXECUTABLE(mysuperdemo mysuperdemo.cpp) 
TARGET_LINK_LIBRARIES(mysuperdemo nestk) 

これは私がそれから作る私のメイクファイルを生成します。

エラーが発生したファイルが私のシステムに存在しません(../../Bin/Release/libXnVNite_1_4_0.dylib)。 libXnVNite.dylibファイルがありますが、存在しない../../Bin/Release/フォルダーにはありません。私はosxで仕事をしています10.7

どのように私はこれを修正することができますか?

答えて

0

これを解決するために、私は既存のlibXnVNite.dylibの名前をlibXnVNite_1_4_0.dylibに変更し、アプリケーションに対して/ bin/releaseフォルダを作成し、そこにファイルを格納しました。それは動作しますが、私はそれが良い解決策から遠いと思います。

0

より洗練されたソリューションは、その相対フォルダにシンボリックリンクを作成することです。 ../../Bin/Release/libXnVNite_1_4_0.dylib-> /usr/lib/libXnVNite.dylib

などすべての問題のあるライブラリです。私のために一度働い

が、今それだけでも、よりエレガントな解決策は、現実のものにそれらの相対パスを変更するinstall_name_toolを使用することです...もう

を働いています。

関連する問題