如何通过cmake链接ffmpeg库

How to link ffmpeg library by cmake?

本文关键字:ffmpeg 链接 cmake 何通过      更新时间:2023-10-16

我想在我的c++程序中使用ffmpeg库。

我已经下载了ffmpeg源代码
在make&编译过程,我出现了以下错误:
UINT64_C未定义
经过一番搜索:

1.将以下代码添加到libavutil/common.h

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

2../configure&compile已经解决了这个问题。

但现在我想通过使用cmake文件将这个库链接到一个简单的编码方法
我已经尝试了一些CMakeLists.txt的示例,但我仍然有
"未定义引用"错误
非常感谢!

  • 我在乌班图工作
  • 使用g++作为c++编译器
  • 使用FFmpeg 2.0.1

您应该为ffmpeg库编写一个查找器,然后在启用cmake的项目中使用它来检测正确的位置和所有必需的文件(头文件和库文件),这可能允许用户覆盖搜索结果(如果我们谈论的是一个真正好的查找器)。。。

关于如何在网上做到这一点,有很多教程。此外,这将相对容易,因为ffmpeg有一堆.pc文件(至少在我的gentoo系统中是这样),所以你所需要的只是重用pkg-config来"检测"它…并且cmake有一个名为FindPkgConfig的模块,带有宏pkg_check_modules,以更简化这项任务。毕竟,不要忘记使用FindPackageHandleStandardArgs

/usr/share/cmake/Modules/readme.txt中读取详细信息或在谷歌上搜索…