问题描述
ffmpeg编译报错undefined reference to `avformat_version'
使用ffmpeg官网下载的ffmpeg-4.0.2-win64-dev写了一段测试的代码,
但编译不通过
/**
* test.c
*/
#include <stdio.h>
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
int main()
{
printf("%d", avformat_version());
return 0;
}
这是编译的命令
gcc test.c -I include -L lib -lavdevice -lavformat -lavfilter -lavcodec -lswresample -lswscale -lavutil -lm
系统是64位win10
ffmpeg是从官网下的最新版本
系统之前没有装过其他版本的ffmpeg
从ffmpeg-4.0.2-win64-dev.zip解压出来的include和lib这两个文件夹也放到和源码(test.c)同一个目录里了
链接库顺序是参照exmaple里的makefile
因为是用gcc编译的,所以不需要像C++那样添加extern "C"
有没有哪位大神能告诉我,这种情况要如何排错
问题在ffmpeg的版本,把ffmpeg的版本由64位换成32位,问题就解决了