ffmpeg庫在VS2017中的編譯調試

最近開始學習ffmpeg,其中參考了ffmpeg視頻教程鏈接:https://pan.baidu.com/s/1Z5M1erSc75TaSyAWjeN18g 密碼:cttq,以及ffmpeg開發庫在vs環境編譯運行的博客文章:http://blog.yundiantech.com/?log=blog&id=7,其實關於ffmpeg使用文章很多,但是大多是早些時期的文章,所以在這裏將ffmpeg庫最新版本在VS2017下編譯運行過程和大家分享,共同學習!

1.首先,需要到ffmpeg官網上下載dev和shared資源,其中dev中包含的是.h頭文件和lib庫,shared中包含的是dll文件。可根據自己的實際環境下載相應的庫。我這裏是win64系統,下載ffmpeg最新穩定版本4.0.2。下載地址:https://ffmpeg.zeranoe.com/builds/win64/,下載好的文件目錄如下圖:

2.打開VS2017創建新項目,這裏就不贅述了,將上圖中ffmpeg-4.0.2-win64-dev文件夾下lib文件夾和include文件夾複製到新建的項目目錄下,新建源文件示例代碼如下:

#include <iostream>
using namespace std;

extern "C"
{
#include "include/libavcodec/avcodec.h"
#include "include/libavformat/avformat.h"
#include "include/libswscale/swscale.h"
#include "include/libavdevice/avdevice.h"
}
///由於我們建立的是C++的工程
///編譯的時候使用的C++的編譯器編譯
///而FFMPEG是C的庫
///因此這裏需要加上extern "C"
///否則會提示各種未定義

int main()
{
	//這裏簡單的輸出一個版本號
	cout << "Hello FFmpeg!" << endl;
	av_register_all();
	unsigned version = avcodec_version();
	cout << "version is:" << version;
	return 0;
}

3.配置頭文件和依賴庫路徑

右鍵項目-屬性-配置屬性-C/C++-常規-附加包含目錄:添加include文件夾路徑,即包含頭文件目錄;右鍵項目-屬性-配置屬性-鏈接器-常規-附加庫目錄:添加lib文件夾路徑,即定位lib庫;右鍵項目-屬性-配置屬性-鏈接器-輸入-附加依賴項:添加lib文件名。

4.在VS2017中調試運行程序,跳出窗口提示“無法啓動此程序,因爲計算機中丟失...”,這時候需要將ffmpeg-4.0.2-win64-shared文件夾中bin目錄下的所有dll文件複製到項目exe文件所屬目錄下(一般在解決方案--x64-debug目錄下),再次回到VS中調試運行,就不會出錯了。

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