0

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

我已经下载了 ffmpeg 源代码。
在制作和编译过程中,我遇到了这个错误:
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 示例,但我仍然有
“未定义的参考”错误
非常感谢!

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

1 回答 1

1

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

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

在a中阅读详细信息/usr/share/cmake/Modules/readme.txt或谷歌它...

于 2013-08-19T12:04:22.277 回答