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方便浏览和查阅。
然后将这些文件拷贝到项目中,具体如下:
- 将shared的DLL文件拷贝到项目中。
- 将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 ;
}
如果编译运行不报错,且输出如下的界面,则说明FFmpeg设置成功了:

FFmpeg学习的环境问题没有了,后续就可以可以自行学习和发挥了。海阔凭鱼跃,天高任鸟飞!
4. 补充
如果在运行代码的时候,IDE提示,***声明已被否决,这时可以通过以下几种方式来解决:
1. 修改项目的配置
Project Properties > Configuration Properties > C/C++ > General > SDL checks关掉
2. 代码中添加编译参数信息
#pragma warning(disable: 4996)
Visual Studio 开发(二):VS 2017配置FFmpeg开发环境的更多相关文章
- ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序
基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular. 自动运行任务,如LESS.JavaScript压缩.JSLint.Ja ...
- 【广州.NET社区推荐】【译】Visual Studio 2019 中 WPF & UWP 的 XAML 开发工具新特性
原文 | Dmitry 翻译 | 郑子铭 自Visual Studio 2019推出以来,我们为使用WPF或UWP桌面应用程序的XAML开发人员发布了许多新功能.在本周的 Visual Studio ...
- Visual Studio C# 利用git和github协同开发时产生冲突的解决办
Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...
- 用Visual Studio 2015 编写 MASM 汇编程序(一)环境配置
原文地址:http://kipirvine.com/asm/gettingStartedVS2015/index.htm#CreatingProject 下面内容根据上面文章翻译整理而来! 开发32位 ...
- Visual Studio 2015 使用ODP.net进行EF开发
刚转了新公司,以前公司都是用VS+MSSQL作为开发工具的 现在新公司由于数据库是Oracle,而且新公司比较小规模,开发团队也没有什么规范 访问数据库的方式一直使用ADO.net的DataTable ...
- caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)
原文来源: 来源:Angle_Cal 2016-12-19 17:32 本博主修改于2017-09-12. 版权所有,转载请注明出处. BLVC版本的Caffe-windows已经支持Vis ...
- visual studio 2015 Opencv4.0.1配置
最近由于工作需要,要配置opencv,我的电脑vs的version是2015,在网上下载了最新的opencv 4.0.1 自己摸索总是很困难,网上的例子也比较多,但版本比较低,也不确定适不适合vs20 ...
- visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建
visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...
- Visual Studio中没有为此解决方案配置选中要生成的项目
问题: Visual Studio点击"生成解决方案"时,出现"没有为此解决方案配置选中要生成的项目". 解决方法: 菜单->生成->配置管理器-& ...
随机推荐
- oracle 中 某个字段的长度不够的sql 语句
alter table 表名 modify(字段名 类型) 之前字段type 的长度为50 现在改为100 举例 : alter table psp_model modify(type var ...
- Oracle--通配符、Escape转义字符、模糊查询语句
一.通配符通配符描述示例 %:匹配包含零个或更多字符的任意字符串.WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名. ...
- RestSharp发送请求得到Json数据
NUGET安装:RestSharp code: public string Post(string url, string content) { string contentType = " ...
- python 聊天程序(基于UDP)
from threading import Thread from socket import * updSocket = socket(AF_INET,SOCK_DGRAM) updSocket.b ...
- skynet记录2:模块简介
稍后填坑 bson.so client.so lpeg.so md5.so skynet.so sproto.so gate.so harbor.so logger.so snlua. ...
- 如何在OneNote for Mac 中插入文件附件?
OneNote 2016 Mac是一款非常方便的云笔记软件,可以随时记录您稍纵即逝的创意,灵感和发现,发挥您的潜能,简化你的生活和工作.有用户反应如何在OneNote for Mac 中插入文件附件呢 ...
- 数据统计 任务的一点感想 , sql 使用中的坑。
需求: 多张表(个数不定,需求不是非常明确,只有一个大致需求)根据业务需求统计出一些数据 (按天统计,数据有多条校验规则)进行上传. 注意: 校验数据是否正确是需要第三放来反馈的,而且第三方的测试环境 ...
- UVA 2290 Transmitters
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- Eclipse neon 4.6 安装tomcat
问题: Eclipse neon 4.6并没有内置Tomcat,所以当我产生想要导入.war,并部署到服务器时,会看到创建服务处是下面的情况: 也就是说,没有tomcat服务可以选择:为此我需配置To ...
- docker服务各个模块
docker容器官网:https://hub.docker.com/ 一.centos7.4中指定安装docker版本 1)默认yum源安装的docker版本为docker1.3.性能偏低,不支持k8 ...