ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

yongfengnice發表於2024-03-28

ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

1. 建立cpp專案

  1. 啟動Visual Studio,建立新專案

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  2. 選擇控制檯運用程式

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  3. 隨便輸入一個專案名稱,點選建立,完成hello world專案的建立

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  4. 編譯和執行專案,按f7編譯專案,按f5執行專案

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  5. 下次重新開啟專案怎麼開啟?

    直接雙擊ffmpeg-test目錄下的.sln檔案,visual studio就會自行開啟ffmpeg-test專案啦

2. 新增標頭檔案和.a庫檔案

首先在專案ffmpeg-test目錄下新建兩個資料夾,一個是include存放標頭檔案,一個是lib存放依賴庫檔案。

1. 分別將fdk-aac、lame、libsym、x264標頭檔案和庫檔案複製到專案下的include資料夾、lib資料夾下

  1. 將/usr/local/include/下的標頭檔案複製到專案ffmpeg-test/include資料夾下

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  2. 將/usr/local/lib/下的庫檔案複製到專案ffmpeg-test/lib資料夾下

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

2. 分別將ffmpeg標頭檔案和庫檔案複製到專案下的include資料夾、lib資料夾下

  1. 將/usr/local/ffmpeg/include下的所有標頭檔案即8個libxxx資料夾 複製一份到專案的include資料夾下

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  2. 將/usr/local/ffmpeg/lib下的所有庫檔案即8個libxxx.a檔案 複製一份到專案的include資料夾下

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

3. 複製標頭檔案和庫檔案到專案目錄下之後的檔案結構

  1. include資料夾結構

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  2. lib資料夾結構

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

3. 配置標頭檔案和庫檔案

標頭檔案和庫檔案新增到專案後,還需要進行配置,告訴專案在哪裡查詢和使用這些標頭檔案和庫檔案

  1. 右鍵專案,屬性,開啟屬性設定頁面

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  2. 屬性配置 -> C/C++ -> 常規 -> 附加包含目錄,配置標頭檔案路徑

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫 ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫 ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  3. 屬性配置 -> 連結器 -> 常規 -> 附加庫目錄,配置庫檔案路徑

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫 ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
  4. 屬性配置 -> 連結器 -> 輸入 -> 附加依賴項,配置庫檔名稱

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫 ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫 ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

4. 新增測試程式碼

完成上面的配置之後,可以先按f7編譯一次,正常情況下是可以正常編譯透過的。

  1. 新增測試程式碼,如下所示

    #include <iostream>
    //這裡要注意:需要使用extern "C"包括標頭檔案引入,因為ffmpeg-test是cpp專案,而ffmpeg本身是c編寫的專案
    extern "C" {
    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    }
    
    int main()
    {
        //按住Ctr滑鼠能點選跳轉進去,包括上面的標頭檔案也能跳轉進去,說明配置的標頭檔案路徑是對的
        const char* configure = avcodec_configuration();
        std::cout << "Hello World!\n" << configure << std::endl;
        return 0;
    }
    
    
  2. 編譯執行專案

  • 按f7編譯一把專案,正常情況是能編譯透過的,如果編譯不過可能上標頭檔案配置有問題

  • 按f5執行專案,正常情況是能執行起來並列印出ffmpeg配置資訊的,如果執行出錯可能是庫檔案配置有問題

    ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫

備註:寫得好像有點詳情,不過本人也是初學者,記錄詳情一點,以備後續查詢方便。

相關文章