最近想用 FFmpeg 來做點事情,所以開始研究怎麼在 Visual Studio C++ 專案中使用 FFmpeg
這邊文章會教學如何開空專案,並呼叫一個 FFmpeg 中的函式,且可以成功編譯並執行
我的環境: Windows 10, Visual Studio 2017
事前準備:
首先先去 https://ffmpeg.zeranoe.com/builds/ 下載必要的 include, lib 跟 dll 檔案
Version 選哪個都可以,為了方便 Architecture 選 Windows 32-bit;Linking 選項則是 Shared 跟 Dev 都要下載,因為 Shared 包含了 dll 檔案,而 Dev 是 C++ 標頭檔以及 lib
正文開始:
開個 C++ 的空白專案
建立一個 Source.cpp 檔案,不過現在會因為沒有加入 FFmpeg 的相依性而編譯失敗
#include <iostream>
extern "C"
{
#include "include\libavformat\avformat.h"
}
#pragma comment(lib, "avformat.lib")
using namespace std;
int main()
{
av_register_all();
system("pause");
}
將剛剛下載的 dev 壓縮檔案解開,把裡面的 include 跟 lib 資料夾複製到 "專案" 資料夾裡面,特別注意是 "專案" 那層喔,不是 "方案" 那層,本文章中是 D:\Projects\FFmpegDemo\FFmpegDemo 裡面
將剛剛下載的 shared 壓縮檔案解開,把 bin 資料夾裡面的所有 dll 檔案複製到 "專案" 資料夾裡面,同上面
回到 Visual Studio
- 在專案按右鍵,屬性,在 C/C++ > 一般 >其他 Include 目錄填上 $(ProjectDir)\include
- 左邊連結器中 > 輸入 > 其他相依性最前面加上 $(ProjectDir)\lib\*.lib;
- 按下確定
這時候應該就可以成功編譯並執行了,就可以開始使用 FFmpeg 啦~