ffmpeg學習window下使用Visual Studio建立cpp專案新增ffmpeg原始碼編譯好的依賴庫
1. 建立cpp專案
-
啟動Visual Studio,建立新專案
-
選擇控制檯運用程式
-
隨便輸入一個專案名稱,點選建立,完成hello world專案的建立
-
編譯和執行專案,按f7編譯專案,按f5執行專案
-
下次重新開啟專案怎麼開啟?
直接雙擊ffmpeg-test目錄下的.sln檔案,visual studio就會自行開啟ffmpeg-test專案啦
2. 新增標頭檔案和.a庫檔案
首先在專案ffmpeg-test目錄下新建兩個資料夾,一個是include存放標頭檔案,一個是lib存放依賴庫檔案。
1. 分別將fdk-aac、lame、libsym、x264標頭檔案和庫檔案複製到專案下的include資料夾、lib資料夾下
-
將/usr/local/include/下的標頭檔案複製到專案ffmpeg-test/include資料夾下
-
將/usr/local/lib/下的庫檔案複製到專案ffmpeg-test/lib資料夾下
2. 分別將ffmpeg標頭檔案和庫檔案複製到專案下的include資料夾、lib資料夾下
-
將/usr/local/ffmpeg/include下的所有標頭檔案即8個libxxx資料夾 複製一份到專案的include資料夾下
-
將/usr/local/ffmpeg/lib下的所有庫檔案即8個libxxx.a檔案 複製一份到專案的include資料夾下
3. 複製標頭檔案和庫檔案到專案目錄下之後的檔案結構
-
include資料夾結構
-
lib資料夾結構
3. 配置標頭檔案和庫檔案
標頭檔案和庫檔案新增到專案後,還需要進行配置,告訴專案在哪裡查詢和使用這些標頭檔案和庫檔案
-
右鍵專案,屬性,開啟屬性設定頁面
-
屬性配置 -> C/C++ -> 常規 -> 附加包含目錄,配置標頭檔案路徑
-
屬性配置 -> 連結器 -> 常規 -> 附加庫目錄,配置庫檔案路徑
-
屬性配置 -> 連結器 -> 輸入 -> 附加依賴項,配置庫檔名稱
4. 新增測試程式碼
完成上面的配置之後,可以先按f7編譯一次,正常情況下是可以正常編譯透過的。
-
新增測試程式碼,如下所示
#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; }
-
編譯執行專案
-
按f7編譯一把專案,正常情況是能編譯透過的,如果編譯不過可能上標頭檔案配置有問題
-
按f5執行專案,正常情況是能執行起來並列印出ffmpeg配置資訊的,如果執行出錯可能是庫檔案配置有問題
備註:寫得好像有點詳情,不過本人也是初學者,記錄詳情一點,以備後續查詢方便。