根据这位仁兄的记录,可以在android程序里调用ffmpeg的avcodec_version()函数;

下载了最新版的ffmpeg源码(2.4.1),在cygwin里用NDK编译时可能会报错,报错如下;

your_name@AP-CHN-LP140129/cygdrive/c/Workspace_my/TestApp$ndk-buildAndroidNDK:WARNING:jni/Android.mk:Prompt:non-systemlibrariesinlinkerflags:-lffmpegAndroidNDK:Thisislikelytoresultinincorrectbuilds.TryusingLOCAL_STATIC_LIBRARIESAndroidNDK:orLOCAL_SHARED_LIBRARIESinsteadtolistthelibrarydependenciesoftheAndroidNDK:currentmodule[armeabi]Compilethumb:Prompt<=Prompt.cInfileincludedfromjni/ffmpeg/libavutil/avutil.h:289:0,fromjni/ffmpeg/libavutil/samplefmt.h:24,fromjni/ffmpeg/libavcodec/avcodec.h:31,fromjni/Prompt.c:6:jni/ffmpeg/libavutil/common.h:44:32:fatalerror:libavutil/avconfig.h:Nosuchfileordirectory#include"libavutil/avconfig.h"^compilationterminated./cygdrive/c/Software/android/android-ndk-r10b/build/core/build-binary.mk:447:recipefortarget'obj/local/armeabi/objs/Prompt/Prompt.o'failedmake:***[obj/local/armeabi/objs/Prompt/Prompt.o]Error1

报错跟cygwin没有关系,其实就是在源码libavutil目录里找不到文件avconfig.h; 查看源码后的确没有...囧TT~

编辑一个avconfig.h放到libavutil目录里就解决了报错问题;avconfig.h内容如下:

/*Generatedbyffconf*/#ifndefAVUTIL_AVCONFIG_H#defineAVUTIL_AVCONFIG_H#defineAV_HAVE_BIGENDIAN0#defineAV_HAVE_FAST_UNALIGNED0#endif/*AVUTIL_AVCONFIG_H*/


编译完成后,运行,OK。


更多相关文章

  1. 在Eclipse中使用sequoyah插件配置Android(安卓)NDK环境
  2. ArrayList动态删除 自定义Adapter (附源码)
  3. android数据库操作之直接读取db文件
  4. Android中JNI调用
  5. Android(安卓)error--No implementation found for native Lcomd
  6. 安卓IntentService 源码启迪
  7. MacPro 10.13.6 编译 android-8.1.0_r53
  8. Android源码(7) --- Binder(1) Linux IPC 机制
  9. android studio 3.3.2 NDK编译C++(C) JNI调用

随机推荐

  1. 【笔记】Android上ROS开发——android_co
  2. Mac删除JDK
  3. Android(安卓)Studio 加载 .so库出现coul
  4. 使用线程执行堆栈StackTraceElement设计A
  5. android中-----JSON数据解析
  6. Android(安卓)TextView文字超出一屏不能
  7. android media server 解析1-media playe
  8. Android媒体相关开发应用程序接口
  9. MyEclipse9.0 安装Android(安卓)ADT14
  10. adb wifi 链接调试Android设备