Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 尝试使用Fast Corner Detector Success Labs时发生Apple O-Match链接器错误_Iphone_Objective C_Compiler Errors - Fatal编程技术网

Iphone 尝试使用Fast Corner Detector Success Labs时发生Apple O-Match链接器错误

Iphone 尝试使用Fast Corner Detector Success Labs时发生Apple O-Match链接器错误,iphone,objective-c,compiler-errors,Iphone,Objective C,Compiler Errors,我正在尝试实现这一点:在我的应用程序中。他们共享一个完整的编译项目,这是我想要的。我试图在我的应用程序中使用它,但在复制函数后,我在编译应用程序时遇到了麻烦 我从编译器中得到此错误: Ld /Users/wojciechradomski2/Library/Developer/Xcode/DerivedData/ARmgr-bxkvnxdnsjbaioahqhygfsmofpxn/Build/Products/Debug-iphoneos/ARmgr.app/ARmgr normal armv6

我正在尝试实现这一点:在我的应用程序中。他们共享一个完整的编译项目,这是我想要的。我试图在我的应用程序中使用它,但在复制函数后,我在编译应用程序时遇到了麻烦

我从编译器中得到此错误:

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\u detect\u nonmax*”,找到了该文件。

您提供的信息很少。您是否已将此库的源添加到项目/目标中?这些源代码也在编译吗?我不知道还要添加什么。我有文件fast.h和fast_9.c,我的项目中有这两个文件。如果我去目标编译源代码,我也有这个fast_9.c文件。当你说你导入它时,你的意思是作为你调用fast9_score的实际文件中的头文件,还是作为一个整体导入到项目中?确保你两者都做。fast.h是否有可能实现您缺少的某些功能?另外,如果您将文件添加到项目中,您是否确保告诉XCode制作副本并将其放入项目组文件夹中?我的头文件为#导入,我的源代码树中也有此文件。我也将所有文件复制到我的项目文件夹中。fast.h文件具有我在其他.c文件中实现的方法。这并不是问题所在(我已经在项目中获得了所有文件),但感谢您的帖子,我找到了解决方案。我把所有的库文件都添加了.c扩展名。将所有文件更改为.cc扩展名后,项目编译良好。