0

openniでプロジェクトを作っているとき。そして、makefileを作成するときに問題が発生します。

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)

これにより、makefileが生成されます。

エラーで言及されたファイルは私のシステムにありません(../../Bin/Release/libXnVNite_1_4_0.dylib)。libXnVNite.dylibファイルはありますが、.. / .. / Bin /Release/フォルダーにはありませんが存在しません。私はosx10.7に取り組んでいます

どうすればこれを修正できますか?

4

2 に答える 2

0

これを解決するために、既存のlibXnVNite.dylibの名前をlibXnVNite_1_4_0.dylibに変更し、アプリケーションに関連するフォルダー/ bin / releaseを作成して、ファイルをその中に配置しました。それは機能しますが、良い解決策にはほど遠いと思います。

于 2011-11-10T21:44:36.113 に答える
0

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

問題のあるすべてのライブラリについても同様です。

それは私にとっては一度はうまくいきましたが、今はもううまくいっています...

さらに洗練された解決策は、install_name_toolを使用して、これらの相対パスを実際のパスに変更することです。

于 2013-03-17T08:59:27.430 に答える