当我用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/文件夹中。我在osx 10.7上工作
任何想法如何解决这个问题?
答案 0 :(得分:0)
为了解决这个问题,我将现有的libXnVNite.dylib重命名为libXnVNite_1_4_0.dylib,并创建了一个相对于我的应用程序的文件夹/ bin / release,并将文件存入其中。它有效,但我认为它远非一个好的解决方案。
答案 1 :(得分:0)
更优雅的解决方案是在该相对文件夹中创建符号链接。 ../../Bin/Release/libXnVNite_1_4_0.dylib - > /usr/lib/libXnVNite.dylib
以及所有有问题的库。
这对我有用,但现在它已经工作了......
更优雅的解决方案是使用install_name_tool将这些相对路径更改为真实路径。