Visual Studio 開發(二):VS 2017配置FFmpeg開發環境


在上篇文章Visual Studio 開發(一):安裝配置Visual Studio Code 中,我們講了一下如何配置VS CODE,來編寫和調試C的代碼。如果你已經使用VS Code回顧和復習好C相關的知識了,並且有想深入學習FFmpeg的方法,那么可以看看這篇文章,相信對你會很有幫助。

一、下載安裝Visual Studio

 下載地址為:https://visualstudio.microsoft.com/zh-hans/downloads/

然后進行安裝,安裝時選擇C/C++開發的選項進行安裝,安裝時選擇如下:

 選好就,點擊下一步,等待安裝就OK了。

 二、創建項目並配置FFmpeg開發環境

在文件中新建一個項目,自行起一個項目名稱,例如FFmpegTest,下面是我創建項目的目錄結構:

里面的代碼是一個Hello World的代碼,並說明了如何運行起來這個項目(針對新手)。

嘗試運行一下,如果運行沒問題,那么我們的Visual Studio 2017 就說明安裝的沒問題了,下面開始配置FFmpeg的開發環境了。

1. 下載FFmpeg的源碼、庫、鏈接文件

首先需要去FFmpeg官網下載相應的內容:

下載地址為:https://ffmpeg.zeranoe.com/builds/,這里有三種類型的:static、shared、dev。

先解釋一下這三種類型的用處:

  • static:打包好的文件,可以認為是FFmpeg的release版本,提供的是ffmpeg、ffplay、ffprobe三個命令行工具。(只學習命令行的同學可以將此配置到環境變量上)
  • shared:這個包包含static的文件,但是相比較多了鏈接文件DLL,這些DLL文件在后面開發環境配置配置中會用到。
  • dev:這個是純開發版本的文件,不包含ffmpeg、ffplay、ffprobe這些命令行工具,但是包含我們開發時使用的頭文件(位於include目錄),及liib文件(位於lib目錄),以及example文件(用於學習和使用)。

從上面的類型說明中,可以知道,我們需要下載的是shared和dev兩個文件,為了減少使用時的問題,建議下載32位的文件

附:本人以及將下載好的上傳到:https://github.com/renhui/Thinking-in-AV/tree/master/FFmpeg/environment 方便瀏覽和查閱。

然后將這些文件拷貝到項目中,具體如下:

  1. 將shared的DLL文件拷貝到項目中。
  2. 將dev的include和lib文件夾一起拷貝到目錄中。

2. 配置FFmpeg開發環境

添加附加包含目錄指向拷貝的include文件,如下:

添加附加庫目錄,如下:

 添加附加依賴項,內容為

avcodec.lib; avformat.lib; avutil.lib; avdevice.lib; avfilter.lib;postproc.lib;swresample.lib; swscale.lib

添加后界面如下:

至此,FFmpeg的開發環境配置完畢了。

3.驗證FFmpeg開發環境

如何驗證FFmpeg能正常使用了,這個簡單,運行一段FFmpeg的代碼即可。

例如:

#include "pch.h"
#include <iostream>

extern "C"{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
}

int main(int argc, char* argv[]) {
    printf("%s\n", avcodec_configuration());
    return 0;
}

如果編譯運行不報錯,且輸出如下的界面,則說明FFmpeg設置成功了:

FFmpeg學習的環境問題沒有了,后續就可以可以自行學習和發揮了。海闊憑魚躍,天高任鳥飛!

4.  補充

如果在運行代碼的時候,IDE提示,***聲明已被否決,這時可以通過以下幾種方式來解決:

1. 修改項目的配置

Project Properties > Configuration Properties > C/C++ > General > SDL checks關掉

2. 代碼中添加編譯參數信息

#pragma warning(disable: 4996)    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM