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