CMakeList引用window下編譯好的ffmpeg動態庫dll的方法步驟
阿新 • • 發佈:2021-01-03
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