我试图在我的应用程序中实现此:http://www.hatzlaha.co.il/150842/FAST-Corner-V2。他们共享完成我想要的工作的完整编译项目。我正在尝试在我的应用程序中使用它,但是在复制功能后,我陷入了编译应用程序的困境。
我从编译器收到此错误:
Ld /Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Products/Debug-iphoneos/ARmgr.app/ARmgr normal armv6
cd /Users/wojciechradomski2/Documents/xCode/AR/ARmgr
setenv IPHONEOS_DEPLOYMENT_TARGET 4.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-g++-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -L/Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Products/Debug-iphoneos -L/Users/wojciechradomski2/Documents/xCode/AR/ARmgr/ARmgr/opencv_device/lib -F/Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Products/Debug-iphoneos -filelist /Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Intermediates/ARmgr.build/Debug-iphoneos/ARmgr.build/Objects-normal/armv6/ARmgr.LinkFileList -dead_strip -lstdc++ -lz -miphoneos-version-min=4.0 -framework OpenGLES -framework AssetsLibrary -framework MobileCoreServices -framework MediaPlayer -framework QuartzCore -framework CoreVideo -framework CoreMedia -framework AVFoundation -framework Accelerate -framework UIKit -framework Foundation -framework CoreGraphics -lcv -lcxcore -o /Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Products/Debug-iphoneos/ARmgr.app/ARmgr
Undefined symbols for architecture armv6:
"fast9_detect_nonmax(unsigned char const*, int, int, int, int, int*)", referenced from:
-[CameraViewController captureOutput:didOutputSampleBuffer:fromConnection:] in CameraViewController.o
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status
正如自述文件所述,我只需要导入fast.h,我正在这样做。
我检查了所有库,导入和框架-全部包含。
即使出现类似以下内容,也会显示上述错误:
fast9_score(NULL, NULL, NULL, NULL, NULL);
删除此行后,一切编译正常。
有什么想法我缺少或做错了吗?
最佳答案
粗略地看,缺少的功能是在fast.cc中定义的。因此,请确保您已将其包含在项目中,并且已将其编译并链接到所需的目标。
编辑:提示:如果链接器中缺少符号,则只需grep即可找到包含该符号的文件。您可能会找到一个定义它的...我只是在您帖子中链接的项目的源目录中做了一个“grep -r fast9_detect_nonmax *”,并找到了文件。
关于iphone - 尝试使用快速角检测器成功实验室时,Apple O型匹配链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7121855/