我按照Qualcomm的开发者网站上提到的所有步骤进行操作。我正在debian os(linux)中运行该示例。但没有成功。
我的控制台日志如下。
**** Build of configuration Default for project SplashScreen ****
make all
Host OS was auto-detected: linux
Android NDK: WARNING:jni/apis/featureDetection/Android.mk:fastcvFeatDetect: non-system libraries in linker flags: -lfastcv
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/apis/imageProcessing/Android.mk:fastcvImgProc: non-system libraries in linker flags: -lfastcv
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/apis/imageTransformation/Android.mk:fastcvImgTransform: non-system libraries in linker flags: -lfastcv
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/utils/Android.mk:fastcvUtils: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:jni/utils/Android.mk:fastcvUtils: non-system libraries in linker flags: -lfastcv
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
make[1]: Entering directory `/home/android/Jagdish/RNDPROJECTS/FastCVSamples-master'
[armeabi] Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
[armeabi] Gdbsetup : libs/armeabi/gdb.setup
[armeabi] SharedLibrary : libfastcvFeatDetect.so
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lfastcv
make[1]: Leaving directory `/home/android/Jagdish/RNDPROJECTS/FastCVSamples-master'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvFilterGaussian3x3u8(unsigned char const*, unsigned int, unsigned int, unsigned char*, int):jni/fastcv/fastcv.inl:4256: error: undefined reference to 'ppfcvFilterGaussian3x3u8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerFast9u8(unsigned char const*, unsigned int, unsigned int, unsigned int, int, unsigned int, unsigned int*, unsigned int, unsigned int*):jni/fastcv/fastcv.inl:5929: error: undefined reference to 'ppfcvCornerFast9u8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerFast9InMasku8(unsigned char const*, unsigned int, unsigned int, unsigned int, int, unsigned int, unsigned int*, unsigned int, unsigned int*, unsigned char const*, unsigned int, unsigned int):jni/fastcv/fastcv.inl:5959: error: undefined reference to 'ppfcvCornerFast9InMasku8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerHarrisu8(unsigned char const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int*, unsigned int, unsigned int*, int):jni/fastcv/fastcv.inl:6037: error: undefined reference to 'ppfcvCornerHarrisu8'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerHarrisInMasku8(unsigned char const*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int*, unsigned int, unsigned int*, int, unsigned char const*, unsigned int, unsigned int):jni/fastcv/fastcv.inl:6088: error: undefined reference to 'ppfcvCornerHarrisInMasku8'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvScaleDownBy2u8(unsigned char const*, unsigned int, unsigned int, unsigned char*):jni/fastcv/fastcv.inl:7008: error: undefined reference to 'ppfcvScaleDownBy2u8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvScaleDownBy4u8(unsigned char const*, unsigned int, unsigned int, unsigned char*):jni/fastcv/fastcv.inl:7051: error: undefined reference to 'ppfcvScaleDownBy4u8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvScaleDownu8(unsigned char const*, unsigned int, unsigned int, unsigned char*, unsigned int, unsigned int):jni/fastcv/fastcv.inl:7137: error: undefined reference to 'ppfcvScaleDownu8_v2'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerFast9Scoreu8(unsigned char const*, unsigned int, unsigned int, unsigned int, int, unsigned int, unsigned int*, unsigned int*, unsigned int, unsigned int*):jni/fastcv/fastcv.inl:7835: error: undefined reference to 'ppfcvCornerFast9Scoreu8_v3'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function fcvCornerFast9InMaskScoreu8(unsigned char const*, unsigned int, unsigned int, unsigned int, int, unsigned int, unsigned int*, unsigned int*, unsigned int, unsigned int*, unsigned char const*, unsigned int, unsigned int):jni/fastcv/fastcv.inl:7867: error: undefined reference to 'ppfcvCornerFast9InMaskScoreu8_v3'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function allocateMemory(int, int):jni/apis/featureDetection/Corner.cpp:161: error: undefined reference to 'fcvMemAlloc'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function allocateMemory(int, int):jni/apis/featureDetection/Corner.cpp:168: error: undefined reference to 'fcvMemAlloc'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function deallocateMemory():jni/apis/featureDetection/Corner.cpp:194: error: undefined reference to 'fcvMemFree'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function deallocateMemory():jni/apis/featureDetection/Corner.cpp:199: error: undefined reference to 'fcvMemFree'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function updateCorners(unsigned char*, unsigned int, unsigned int):jni/apis/featureDetection/Corner.cpp:232: error: undefined reference to 'fcvMemFree'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function updateCorners(unsigned char*, unsigned int, unsigned int):jni/apis/featureDetection/Corner.cpp:242: error: undefined reference to 'fcvMemAlloc'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function updateCorners(unsigned char*, unsigned int, unsigned int):jni/apis/featureDetection/Corner.cpp:315: error: undefined reference to 'fcvMemFree'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs-debug/fastcvFeatDetect/Corner.o: in function updateCorners(unsigned char*, unsigned int, unsigned int):jni/apis/featureDetection/Corner.cpp:326: error: undefined reference to 'fcvMemAlloc'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libfastcvUtils.a(FastCVSampleRenderer.o): in function fcvColorYUV420toRGB565u8(unsigned char const*, unsigned int, unsigned int, unsigned int*):jni/fastcv/fastcv.inl:4457: error: undefined reference to 'ppfcvColorYUV420toRGB565u8'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libfastcvUtils.a(FastCVUtil.o): in function Java_com_qualcomm_fastcvdemo_utils_FastCVUtil_init:jni/utils/FastCVUtil.cpp:23: error: undefined reference to 'fcvSetOperationMode'
/home/android/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libfastcvUtils.a(FastCVUtil.o): in function Java_com_qualcomm_fastcvdemo_utils_FastCVUtil_init:jni/utils/FastCVUtil.cpp:25: error: undefined reference to 'fcvGetVersion'
collect2: ld returned 1 exit status
make[1]: *** [obj/local/armeabi/libfastcvFeatDetect.so] Error 1
make: *** [all] Error 2
**** Build Finished ****
如果有人有想法。请回复。提前谢谢..
答案 0 :(得分:1)
我有同样的问题
严格遵循
将lib / libfastcv.a复制到你的ndk lib目录(例如/ arch-arm / usr / lib )
在名为fastcv的ndk include目录下创建一个目录。将inc目录的内容从安装目录复制到刚刚在ndk include目录下创建的新目录(例如/ arch-arm / usr / include / fastcv )
两者都是差异点。这就是我犯的错误,我将它们复制到同一个位置,现在它完美地工作了: - )