ffmpeg编译报错undefined reference

发布于 2022-09-07 22:47:34 字数 773 浏览 11 评论 0

问题描述

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"

有没有哪位大神能告诉我,这种情况要如何排错

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

镜花水月 2022-09-14 22:47:34

问题在ffmpeg的版本,把ffmpeg的版本由64位换成32位,问题就解决了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文