CMakeList引用window下编译好的ffmpeg动态库dll的方法步骤
-
准备开发环境
使用mingw和msys,下载地址:https://sourceforge.net/projects/mingw-w64/files/External binary packages (Win64 hosted)/MSYS (32-bit)/ ,选择下载MSYS-20111123.zip和x86_64-posix-seh离线包。
解压x86_64-posix-seh得到mingw64目录,解压MSYS-20111123.zip得到msys目录,将msys目录移动到mingw64目录下,并将mingw64/bin添加到Path环境变量,即可完成环境准备。
-
安装开发工具
使用开发工具是Clion,这个比较出名的C、C++收费开发工具,网上有破解版自行搜索。
准备好mingw+msys环境后,安装并启动Clion,创建Cmake编译的C、C++项目时会自动检测到mingw环境。
-
配置CmakeLists.txt
cmake_minimum_required(VERSION 3.10) project(Hello) set(CMAKE_CXX_STANDARD 14) # h头文件 include_directories(C:/temp/ffmpeg/include) # 编译需要链接的lib描述库文件 link_directories(C:/temp/ffmpeg/bin) add_executable(Hello main.cpp) # 运行时需要链接的dll动态库,同时需要把这些dll动态库拷贝到exe同级目录下。 target_link_libraries(Hello avutil-56 avformat-58 avcodec-58 avdevice-58 avfilter-7 swresample swscale-5)
-
拷贝dll动态库拷贝到exe同级目录
第三步的CmakeLists.txt配置,只是编译是成功链接到了需要的库文件。运行时是找不到配置的动态库的,所有还需要将引用到的dll动态库拷贝到exe的同级目录下。见下图:
如何在window下编译ffmpeg,客园参考这篇文章:https://www.cnblogs.com/yongfengnice/p/14225228.html