使用C++进行Android NDK开发,引入FFmpeg头文件的注意事项

第一个问题:

error: undefined reference to 'av_register_all()'
error: undefined reference to 'avcodec_register_all()'
error: undefined reference to 'avformat_network_init()'
^^^^^^^^^^

这类错误,解决方法:
将引入ffmeg头文件的块包起来

extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/avutil.h"
#include "libswscale/swscale.h"
}

第二个问题:

common.h:178:47: error: 'UINT64_C' was not declared in this scope

解决方法:
在Android.mk文件中添加

LOCAL_CFLAGS += -D__STDC_CONSTANT_MACROS

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: 使用C++进行Android NDK开发,引入FFmpeg头文件的注意事项

1 评论

  1. 您好,楼主,我现在遇到问题是编译的时候出错了,configure按照您的指令,【ccKxg8Cg.s:1834: Error: unshifted register required — `eor r2,r3,r3,ror#16’】这是错误信息,使用的是ffmpeg1.1.4。指导一下吧谢谢。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据