我想在我的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”错误
非常感谢!
答案 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 ...