fatal error: libavutil/avconfig.h: No such file...

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

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

your_name@AP-CHN-LP140129 /cygdrive/c/Workspace_my/TestApp
$ ndk-build
Android NDK: WARNING:jni/Android.mk:Prompt: non-system libraries in linker flags: -lffmpeg
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
[armeabi] Compile thumb  : Prompt <= Prompt.c
In file included from jni/ffmpeg/libavutil/avutil.h:289:0,
                 from jni/ffmpeg/libavutil/samplefmt.h:24,
                 from jni/ffmpeg/libavcodec/avcodec.h:31,
                 from jni/Prompt.c:6:
jni/ffmpeg/libavutil/common.h:44:32: fatal error: libavutil/avconfig.h: No such file or directory
 #include "libavutil/avconfig.h"
                                ^
compilation terminated.
/cygdrive/c/Software/android/android-ndk-r10b/build/core/build-binary.mk:447: recipe for target 'obj/local/armeabi/objs/Prompt/Prompt.o' failed
make: *** [obj/local/armeabi/objs/Prompt/Prompt.o] Error 1

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

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

/* Generated by ffconf */
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 0
#endif /* AVUTIL_AVCONFIG_H */


编译完成后,运行,OK。

235832_NIh9_137991.jpg

235552_HfJe_137991.jpg


转载于:https://my.oschina.net/placeholder/blog/322731

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误提示是说在编译过程中找不到libavutil/time.h文件。根据引用,这个错误是由于缺少linux/perf_event.h文件导致的。可以根据引用中的方法,在libavutil目录下创建一个avconfig.h文件,然后在avconfig.h文件中添加以下内容: ``` /* Generated by ffconf */ #ifndef AVUTIL_AVCONFIG_H #define AVUTIL_AVCONFIG_H #define AV_HAVE_BIGENDIAN 0 #define AV_HAVE_FAST_UNALIGNED 0 #endif /* AVUTIL_AVCONFIG_H */ ``` 如果问题仍然存在,可以尝试根据引用中的方法进行操作。具体步骤是进入/ijkplayer-master/config目录,查看module-default.sh文件的最后一行是否包含以下内容: ``` export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" ``` 如果没有的话,可以手动添加这一行。然后执行以下命令: ``` cd config rm module.sh ln -s module-lite.sh module.sh ``` 这样应该能解决缺少libavutil/time.h文件的错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [/libavutil/timer.h:38:31: fatal error: linux/perf_event.h: No such file or directory](https://blog.csdn.net/wusejiege6/article/details/108310915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [fatal error: libavutil/avconfig.h: No such file...](https://blog.csdn.net/athrunsunny/article/details/122369052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值