编译Qualcomm fastcv演示应用程序的问题

时间:2014-06-19 09:03:29

标签: android android-ndk

我按照Qualcomm的开发者网站上提到的所有步骤进行操作。我正在debian os(linux)中运行该示例。但没有成功。

https://developer.qualcomm.com/mobile-development/add-advanced-features/computer-vision-fastcv/getting-started-guide/compiling-and-running

我的控制台日志如下。

**** 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 ****

如果有人有想法。请回复。提前谢谢..

1 个答案:

答案 0 :(得分:1)

我有同样的问题

严格遵循

将lib / libfastcv.a复制到你的ndk lib目录(例如/ arch-arm / usr / lib

在名为fastcv的ndk include目录下创建一个目录。将inc目录的内容从安装目录复制到刚刚在ndk include目录下创建的新目录(例如/ arch-arm / usr / include / fastcv

两者都是差异点。这就是我犯的错误,我将它们复制到同一个位置,现在它完美地工作了: - )