这是我的项目情况:我使用this tutorial在Windows中编译了ffmpeg,并导入了我的android项目(在jni文件夹下)生成的ffmpeg文件夹(包含在libffmpeg.so文件中)。 在我的项目中,我有一个jni_part.cpp,我插入了我的jni函数来操作opencv。 在我的Android.mk中,我使用下面的代码导入opencv并编译jni_part.cpp
include $(CLEAR_VARS)
include ../../sdk/native/jni/OpenCV.mk
LOCAL_MODULE := mixed_sample
LOCAL_SRC_FILES := jni_part.cpp
LOCAL_LDLIBS += -llog -ldl
LOCAL_SHARED_LIBRARY := ffmpeg-prebuilt
include $(BUILD_SHARED_LIBRARY)
但我应该用什么代码导入ffmpeg呢?我试着使用这段代码:
include $(CLEAR_VARS)
LOCAL_MODULE := ffmpeg-prebuilt
LOCAL_SRC_FILES := ffmpeg-0.8/android/armv7-a/libffmpeg.so
LOCAL_EXPORT_C_INCLUDES := ffmpeg-0.8/android/armv7-a/include/
LOCAL_EXPORT_LDLIBS := ffmpeg-0.8/android/armv7-a/libffmpeg.so
LOCAL_PRELINK_MODULE := true
include $(PREBUILT_SHARED_LIBRARY)
但是如果从我的jni_part.cpp代码中我尝试包含一些ffmpeg文件/库"#include <libavutil/avstring.h>"
我收到此错误:
**** Build of configuration Default for project OpenCV Tutorial 4 - Mix Java+Native OpenCV ****
C:\android-ndk-r8c\ndk-build.cmd
Prebuilt : libffmpeg.so <= jni/ffmpeg-0.8/android/armv7-a/
Install : libffmpeg.so => libs/armeabi-v7a/libffmpeg.so
"Compile++ thumb : mixed_sample <= jni_part.cpp
jni/jni_part.cpp:24:32: fatal error: libavutil/avstring.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi-v7a/objs/mixed_sample/jni_part.o] Error 1
**** Build Finished ****
有人可以帮我吗?我需要这样做包括ffmpeg编解码器,希望使用函数cvCaptureFromAVi ... 提前致谢