使用 FFMPEG 库时编译错误

Posted

技术标签:

【中文标题】使用 FFMPEG 库时编译错误【英文标题】:Compile error when using FFMPEG library 【发布时间】:2015-01-05 22:15:12 【问题描述】:

我曾尝试使用 FFMPEG 编译 C 程序,但每次编译时都会在 include 语句中失败:

#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>

Gcc 提供了这个错误信息:

libavcodec/avcodec.h: No such file or directory

我已经安装了 FFMPEG 并创建了共享库,但是当我在编译时尝试链接这些库时,我得到了同样的错误。

gcc main.c -L ffmpeg_build/lib -l ffmpeg_build/include/libavcodec/avcodec.h 

我收到此错误是因为我错误地链接了库,还是有其他问题?

这是我第一次使用别人的图书馆,所以如果我问一个愚蠢的问题,请原谅。

【问题讨论】:

【参考方案1】:

小写的-l 是一个链接器选项,用于指定。它们可能看起来像 libsomething.a 并在链接器调用中变为 -lsomething。要将目录添加到标题搜索路径,请使用大写 i,-I

gcc main.c -L/some/path/ffmpeg_build/lib -I/some/path/ffmpeg_build/include

【讨论】:

谢谢,就是这样!

以上是关于使用 FFMPEG 库时编译错误的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Android Studio 编译时 Kotlin 代码编译报错 ( 升级支持库时处理 @NonNull 参数 )

qt creator qt5.1 vs2010 使用静态库时链接器错误

编译FFMPEG时Mac上的g ++链接错误

cygwin 上的 FFMPEG 无法编译 libx264 错误:未知类型名称“HMODULE”

Mac FFmpeg编译和解决nasm/yasm not found or too old错误

使用犰狳库时如何解决编译问题