我尝试捆绑FFmpeg与我的Qt6应用程序,使用CMake作为Mac OS系统(苹果芯片)上的构建系统。
FetchContent_Declare(
ffmpeg
GIT_REPOSITORY https://github.com/FFmpeg/FFmpeg.git
GIT_TAG n5.1.2
)
FetchContent_MakeAvailable(ffmpeg)
include_directories(
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavutil"
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavcodec"
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavformat"
)
target_link_libraries(
taqtie
PRIVATE
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavutil/libavutil.h"
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavcodec/libavcodec.h"
"/Volumes/ieasybooks/taqtie/build-repo-Qt_6_4_0_for_macOS-Debug/_deps/ffmpeg-src/libavformat/libavformat.h"
)
但是当我包含像这样的FFmpeg库时:
extern "C" {
#ifndef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
#include <avutil.h>
}
出现以下错误:
main.cpp:6:10: In included file: 'libavutil/avconfig.h' file not found
我在这个问题上花了一个月的时间,我找不到任何解决办法。我甚至问了ChatGPT:)
你知道吗?
该项目的代码可以在这里找到:https://github.com/ieasybooks/taqtie.
3条答案
按热度按时间omqzjyyz1#
我发现这个FFmpeg设置:https://github.com/thomas-moulard/visp-deb/blob/master/CMakeModules/FindFFMPEG.cmake,我在我的项目中使用了它,现在它工作得很好。
我是这样使用它的:
最后,我可以像这样导入库:
谢谢你的帮助非常感谢。
mlnl4t2r2#
好了,最后完成这个。我没有使用上面附加的cmake代码来链接FFmpeg库,而是使用了OBS Studio项目在GitHub上使用的相同的FindFFmpeg.cmake文件,它按预期工作!
我还不知道有什么不同,我需要仔细阅读并找出不同之处。
zlwx9yxi3#
有关详细信息,请查看此处的讨论:https://forum.qt.io/topic/141950/bundle-ffmpeg-with-qt6-application-using-cmake