OpenFrameworks 的 Apple Mach-O 链接器 (Id) 错误

Apple Mach-O Linker (Id) Error for OpenFrameworks

我在 Mac OS X 10.11.1.
上使用 XCode 7.1 我在 openFrameworks 中使用了一个名为 ofXopenNI 的插件,它基本上是 openFrameworks 的 OpenNI 接口。它有一些要求,我安装并链接到我的 XCode 项目。不过,还有一个链接错误我无法修复。在这里(我粘贴了一张图片,这样我就不会错过任何东西):

问题是 libXnFormats 已经包含在我的项目中,但是这个问题出现了。这就是我认为它包含在项目中的方式:

(第二个)
我知道有很多关于 SO 的 Mach-O 链接错误问题,但这似乎很具体。有人知道解决这个问题的方法吗?


这是文本格式的错误消息(因为有人要求):

Ld bin/huReconDebug.app/Contents/MacOS/huReconDebug normal x86_64
    cd /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon
    export MACOSX_DEPLOYMENT_TARGET=10.11
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -L/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin -F/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin -F/Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/../../../libs/glut/lib/osx -filelist /Users/ranveer/Library/Developer/Xcode/DerivedData/huRecon-eiqxyontximqaegxzkvzzaxrfiqs/Build/Intermediates/huRecon.build/Debug/huRecon.build/Objects-normal/x86_64/huReconDebug.LinkFileList -mmacosx-version-min=10.11 -dead_strip ../../../libs/poco/lib/osx/PocoCrypto.a ../../../libs/poco/lib/osx/PocoData.a ../../../libs/poco/lib/osx/PocoDataODBC.a ../../../libs/poco/lib/osx/PocoDataSQLite.a ../../../libs/poco/lib/osx/PocoFoundation.a ../../../libs/poco/lib/osx/PocoNet.a ../../../libs/poco/lib/osx/PocoNetSSL.a ../../../libs/poco/lib/osx/PocoUtil.a ../../../libs/poco/lib/osx/PocoXML.a ../../../libs/poco/lib/osx/PocoZip.a ../../../libs/tess2/lib/osx/tess2.a ../../../libs/glew/lib/osx/glew.a ../../../libs/cairo/lib/osx/cairo-script-interpreter.a ../../../libs/cairo/lib/osx/cairo.a ../../../libs/cairo/lib/osx/pixman-1.a ../../../libs/fmodex/lib/osx/libfmodex.dylib ../../../libs/rtAudio/lib/osx/rtAudio.a ../../../libs/openssl/lib/osx/crypto.a ../../../libs/openssl/lib/osx/ssl.a ../../../libs/glfw/lib/osx/libglfw3.a ../../../libs/FreeImage/lib/osx/freeimage.a ../../../libs/freetype/lib/osx/freetype.a ../../../addons/ofxAssimpModelLoader/libs/assimp/lib/osx/assimp.a ../../../addons/ofxKinect/libs/libusb-1.0/lib/osx/usb-1.0.a ../../../addons/ofxOpenCv/libs/opencv/lib/osx/opencv.a -stdlib=libstdc++ -framework Accelerate /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/data/lXnFormats.dylib -lXnFormats -framework QTKit -lXnDDK -framework GLUT -lusb-1.0.0 /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/data/XnFormats.dylib /Users/ranveer/BTP/openFrameworks/libs/openFrameworksCompiled/lib/osx/openFrameworksDebug.a -framework AGL -lXnVNite_1_5_2 -lnimRecorder -framework ApplicationServices -lXnVCNITE_1_5_2 -framework AudioToolbox -framework CoreAudio -framework CoreFoundation -lnimCodecs -lXnVFeatures_1_5_2 -framework CoreServices -lXnCore -framework OpenGL -lOpenNI -framework QuickTime -lnimMockNodes -lXnDeviceSensorV2KM -framework AppKit -lXnDeviceFile -framework Cocoa -lXnVHandGenerator_1_5_2 -framework IOKit -framework CoreVideo -Xlinker -dependency_info -Xlinker /Users/ranveer/Library/Developer/Xcode/DerivedData/huRecon-eiqxyontximqaegxzkvzzaxrfiqs/Build/Intermediates/huRecon.build/Debug/huRecon.build/Objects-normal/x86_64/huReconDebug_dependency_info.dat -o /Users/ranveer/BTP/openFrameworks/apps/myApps/mac-huRecon/bin/huReconDebug.app/Contents/MacOS/huReconDebug

然后,

ld: library not found for -lXnFormats
clang: error: linker command failed with exit code 1 (use -v to see invocation)

将库重命名为 XnFormats 而不是 libXnFormats。 我最近在 Xcode 上遇到了一个奇怪的问题,即使使用 -l 命令(应该以 lib 为前缀)也确实想为自定义库工作。

这可能是一个 Xcode 错误。然而,这应该让它现在为你工作。

我有一个类似的问题,我得到的是 -lXnDDK 链接器错误,而不是 -lXnFormats。我假设您通过在 ofxOpenNI 插件目录下包含 includelib 文件夹来创建新组。此外,将 lib 文件夹复制到 bin/data/openni

我只是将 bin/data/openni/lib 添加到构建设置中的库搜索路径。

我在 MAC OS X 10.10.5.

上使用 Xcode 7.0.1