如何通过cmake链接ffmpeg库?

时间:2013-08-19 11:28:43

标签: c++ ffmpeg

我想在我的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的样本,但我仍然有 “undefined refrence”错误
非常感谢!

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

1 个答案:

答案 0 :(得分:1)

你应该为ffmpeg库编写一个查找程序,然后在启用了cmake的项目中使用它来检测正确的位置和所有必需的文件(标题和库),这可能允许用户覆盖搜索结果(如果我们谈论一个非常好的发现者)...

有很多关于如何通过网络进行此操作的教程。而且,它会相对容易,因为ffmpeg有一堆.pc个文件(至少在我的gentoo系统中),所以你需要的只是重用pkg-config来“检测”它...和cmake有一个名为FindPkgConfig w / macro pkg_check_modules的模块,以进一步简化此任务。毕竟,不要忘记使用FindPackageHandleStandardArgs

/usr/share/cmake/Modules/readme.txt或google it ...

中阅读详细信息