如何通过cmake链接ffmpeg库
How to link ffmpeg library by cmake?
我想在我的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
中读取详细信息或在谷歌上搜索…
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- CMake-按正确顺序将项目与C运行时对象文件链接
- 从链接列表c++中删除一个项目
- 有根的二进制搜索树.保留与其父级的链接
- 读取文件的最后一行并输入到链接列表时出错
- 静态数据成员的问题-修复链接错误会导致编译器错误
- node-gyp 在 macOS 上未正确链接库
- 基于boost的程序的静态链接——zlib问题
- 无法链接 CMake 中的本地库
- 内联函数中具有内部链接的全局变量
- 链接阶段在Ubuntu上失败,但在MacOS上失败
- 使用gcc从静态链接的文件中查找可选符号
- 在Visual Studio 2013终极项目中使用FFMPEG,链接错误LNK2019
- Windows中的ffmpeg/libav链接问题
- FFmpeg Ubuntu链接器错误
- 在 Visual Studio 2010 中构建任何 ffmpeg 项目时出现错误链接 2001 libavformat
- 可视化C++链接器无法解析 FFmpeg 的外部符号
- 如何通过cmake链接ffmpeg库
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- FFMPEG:未定义的对"avcodec_register_all"的引用不链接