gpt4 book ai didi

c++ - 使用 freenect 库的 Apple Mach-O 链接器 (ld) 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:33:53 25 4
gpt4 key购买 nike

当尝试在 xcode 中编译以下文件时:

http://openkinect.org/wiki/C%2B%2BOpenCvExample

我收到这些错误:

Ld build/Debug/KinectOpenCV normal x86_64
cd "/Users/Scott/Dropbox/Project/KinectOpenCV/KinectOpenCV"
setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Developer/usr/bin/clang++ -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk "-L/Users/Scott/Dropbox/Project/KinectOpenCV/KinectOpenCV/build/Debug" "-F/Users/Scott/Dropbox/Project/KinectOpenCV/KinectOpenCV/build/Debug" -filelist "/Users/Scott/Dropbox/Project/KinectOpenCV/KinectOpenCV/build/KinectOpenCV.build/Debug/KinectOpenCV.build/Objects-normal/x86_64/KinectOpenCV.LinkFileList" -mmacosx-version-min=10.7 -lopencv_core.2.3.2 -lopencv_highgui.2.3.2 -lfreenect.0.0.1 -framework GLUT -framework OpenGL -o "/Users/Scott/Dropbox/Project/KinectOpenCV/KinectOpenCV/build/Debug/KinectOpenCV"

Undefined symbols for architecture x86_64:
"_freenect_find_video_mode", referenced from:
freenect_threadfunc(void*) in main.o
"_freenect_set_video_mode", referenced from:
freenect_threadfunc(void*) in main.o
"_freenect_find_depth_mode", referenced from:
freenect_threadfunc(void*) in main.o
"_freenect_set_depth_mode", referenced from:
freenect_threadfunc(void*) in main.o
"_freenect_select_subdevices", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我一直在尝试我能想到的一切来解决这个问题,但没有任何乐趣。我已经尝试针对特定架构(32 位或 64 位)进行编译,我已经尝试重新链接所有库和其他类似措施,例如开始一个新项目并再次导入所有内容。

最佳答案

听起来您需要重建 libfreenect。

我建议遵循 directions on this tutorial重新安装所有内容后,再次运行 nm 测试,看看符号是否最终出现。

如果没有,请 grep 浏览库源代码,看看它们是否已定义并出于某种原因简单地被条件化了。

关于c++ - 使用 freenect 库的 Apple Mach-O 链接器 (ld) 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com