Ошибка Apple O-Match Linker при попытке использовать Fast Corner Detector Success Labs - PullRequest
0 голосов
/ 19 августа 2011

Я пытаюсь реализовать это: 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

Как говорится в файле readme, мне нужно только импортировать fast.h, и я делаю это. Я проверил все библиотеки, импорт и фреймворки - у меня есть все.

Вышеприведенная ошибка отображается даже с таким выражением:

fast9_score(NULL, NULL, NULL, NULL, NULL);

После удаления этой строки все компилируется нормально.

Есть идеи, что я упускаю или делаю неправильно?

1 Ответ

2 голосов
/ 19 августа 2011

На мой взгляд, отсутствующая функция определяется в fast.cc.Поэтому убедитесь, что он есть в вашем проекте, и он компилируется и связывается с желаемой целью.

Редактировать : Подсказка: если в компоновщике отсутствуют символы, просто выполнитефайлы, которые содержат этот символ.Вы можете найти тот, который его определяет ... Я просто выполнил команду "grep -r fast9_detect_nonmax *" в каталоге исходных текстов проекта, на который вы ссылались в своем посте, и нашел файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...