1. 程式人生 > 實用技巧 >CMakeList引用window下編譯好的ffmpeg動態庫dll的方法步驟

CMakeList引用window下編譯好的ffmpeg動態庫dll的方法步驟

CMakeList引用window下編譯好的ffmpeg動態庫dll的方法步驟

  1. 準備開發環境

    使用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環境變數,即可完成環境準備。

  2. 安裝開發工具

    使用開發工具是Clion,這個比較出名的C、C++收費開發工具,網上有破解版自行搜尋。

    準備好mingw+msys環境後,安裝並啟動Clion,建立Cmake編譯的C、C++專案時會自動檢測到mingw環境。

  3. 配置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)
    
  4. 拷貝dll動態庫拷貝到exe同級目錄

    第三步的CmakeLists.txt配置,只是編譯是成功連結到了需要的庫檔案。執行時是找不到配置的動態庫的,所有還需要將引用到的dll動態庫拷貝到exe的同級目錄下。見下圖:

如何在window下編譯ffmpeg,客園參考這篇文章:https://www.cnblogs.com/yongfengnice/p/14225228.html