VS2019 c++配置FFmpeg

1:官網下載ffmpeg相關庫,dev,shared。在Dev裏面主要是一些頭文件和lib,在shared版本里主要是dll文件。

  (方便下載速度,提供自己上傳鏈接。https://download.csdn.net/download/wenhuadream/12330743。同時上傳了些相關工具。推薦官網下載)

2:新建vs工程.(網上大多數從win32新建,vs2019沒win32選項,可從windows桌面嚮導處新建。)

 

3:將dev下的include與lib文件夾拷貝到工程目錄。

 

4:將shares-bin中的所有dll拷貝到工程目錄。

工程目錄結構如下圖:

 

5:配置包含目錄和lib依賴。

    a:配置ffmpeg包含目錄。  右鍵項目->屬性->c/c++->常規->附加包含目錄。填入 include  (即FFmpeg的.h目錄)。

 

    b:配置ffmpeg的lib依賴。 右鍵項目->屬性->鏈接器->常規->附加庫目錄。填入 lib (即FFmpeg的lib目錄)。

   c:右鍵項目->屬性->鏈接器->輸入->附加依賴項中填入根目錄下的dll文件。

 

 

5:添加工程main函數。工程目錄->源文件->添加->新建項->c++文件。

     添加main函數測試入口。

//程序入口

#include <iostream>
#include <string>

extern "C"
{
#include <libavformat/avformat.h>
}


//第二個形參argv是一個數組, 它的元素是指向C風格字符串的指針;第一個形參argc表示數組中字符串的數量。
//當實參傳給main函數之後,argv的第一個元素指向程序的名字或者一個空字符串,
//接下來的元素依次傳遞命令行提供的實參。所以當使用argv中的實參時,
//一定要記得可選的實參從argv[1]開始,argv[0]保存程序的名字,而非用戶輸入

int main(int argc, char* argv[])
{
    av_register_all();
    system("pause");

    return 0;
}

//如果函數的返回類型不是void,那麼它必須返回一個值。但是這條規則有個例外:我們允許main函數沒有return語句直接結束。如果控制達到了main函數的結尾處而且沒有return語句,編譯器將隱式地 一條返回0地return語句。
//main函數的返回值可以看作是狀態指示器。返回0表示執行成功,返回其他值表示執行失敗,其中非0值的具體含義由機器決定。

 

6:右鍵項目->c/c++->常規-> SDL檢查  改爲 否。否則項目運行會報錯。

 

7:運行。

   不報錯即通過。完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章