我正在使用android-opencv(android-opencv-http://code.google.com/p/android-opencv/-),它的構建成功並像魅力一樣工作。 然後我嘗試使用「cvCanny」來檢測臉部,但鏈接器報告了一個錯誤「未定義的參考」。android-opencv cvCanny鏈接錯誤
我試了很多東西來解決這個問題,但解決不了。
/home1/apps/c/opencv-android/opencv/obj/local/armeabi-v7a/libobjdetect.a(haar.o): 在功能
cvHaarDetectObjects': /home1/apps/c/opencv-android/opencv/modules/objdetect/src/haar.cpp:1127: undefined reference to
cvCanny」 collect2:LD返回1個退出狀態
編譯命令
/home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc -nostdlib - Wl,-soname,libandroid-opencv.so -Wl,-shared,-Bsymbolic/home1/apps/c/opencv-android /opencv/android/obj/local/armeabi-v7a/objs/android-opencv/yuv420sp2rgb.o /home1/apps/c/opencv-android/opencv/android/obj/local/armeabi-v7a/objs/android- opencv/gen/android_cv_wrap.o /home1/apps/c/opencv-android/opencv/android/obj/local/armeabi-v7a/objs/android-opencv/image_pool.o /home1/apps/c/opencv- android/opencv/android/obj/local/armeabi-v7a/objs/android-opencv/gl_code.o /home1/apps/c/opencv-android/opencv/android/obj/local/armeabi-v7a/objs/android -opencv/Calibration.o /home1/apps/c/opencv-android/opencv/android/obj/local/armeabi-v7a/objs/android-opencv/Processor.o /home1/apps/c/opencv-android/opencv/android/obj/local/armeabi-v7a/objs/android-opencv/gen/cvcamera_swig.o -Wl, - whole-archive -Wl, - no-whole-archive/home1/android-ndk-crystax /build/platforms/android-5/arch-arm/usr/lib/libmissing.a /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/../../。 ./../arm-eabi/lib/libstdc++.a /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm -eabi/4.4.0 /../../../../ arm-eabi/lib/libsupC++。a /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi- 4.4.0/bin /../ lib/gcc/arm-eabi/4.4.0/libgcc.a /home1/android-ndk-crystax/build/platforms/android-5/arch-arm/usr/lib/libc.so /home1/android-ndk-crystax/build/platforms/android-5/arch-arm/usr/lib/libm.so -W1, - fix-cortex-a8 -W1, - no- undefined -Wl,-z,noexecstack -L/home1/android-ndk-crystax/build/platforms/android-5/arch-arm/usr/lib -L/home1/apps/c/opencv-android/opencv/bin/ndk/local/armeabi-v7a -L/home1/apps/c/opencv -android/opencv/obj/local/armeabi-v7a -Wl,-rpath-link =/home1/apps/c/opencv-android/opencv/obj/local/armeabi-v7a -lfeatures2d -lcalib3d -limgproc -lvideo -lhighgui -lml -llegacy -lcore -lopencv_lapack -lflann -lobjdetect -lzlib -lpng -ljpeg -ljasper -llog -lGLESv2 -Wl,-rpath-link =/home1/android-ndk-crystax/build/platforms/android-5/arch-arm/usr/lib /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0 /../../../../arm-eabi/lib/libstdc++.a /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/ ../lib/gcc/arm-eabi/4.4.0/../../../../arm-eabi/lib/libsupc++.a /home1/android-ndk-crystax/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin /../ lib/gcc/arm-eabi/4.4.0/libgcc.a -o/home1/apps/c/opencv-android/opencv/android/OBJ /本地/ armeabi-V7A/libandroid開cv.so
當我用「nm」命令檢查「libimgproc.a」時,它說它具有「cvCanny」符號,但鏈接器抱怨...
納米 /home1/apps/c/opencv-android/opencv/obj/local/armeabi-v7a/libimgproc.a | grep的cvCanny
00000000 [R ZZ7cvCannyE19 _PRETTY_FUNCTION__
00000001牛逼cvCanny
請給我一個關於這個問題,喜歡暗示...?
在android-opencv項目網站上發現了一個解決方案,它涉及到更改opencv庫的加載順序。 http://code.google.com/p/android-opencv/issues/detail?id=17 – iamiend 2011-01-12 23:13:43
該鏈接已損壞。 – 2013-12-05 20:44:24