Visual studio 通用开发环境配置:SDL,FFMPEG为例
引言
每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤:
- 下载库文件,这里假定是已经预先编译完成的。
- 配置库文件的包含目录(include)和库目录(lib)
- 配置库文件的动态链接库(dll),这一步是很多人容易忽略的。上面配置好包含目录和库目录,只是开发环境配置完成了,没有配置好dll,在使用该库的程序运行时,会造成操作系统无法加载库对应的动态链接库。
下面以SDL的配置为例,详细说明是如何配置的。
SDL在visual studio下的开发环境配置
- 下载SDL开发库 http://www.libsdl.org/download-2.0.php 现在的稳定版本是2.0.4

- 配置VS的开发环境。
Visual Studio 2008以后,在项目->属性下配置的VC++的包含目录及库,只针对当前项目有效,每次新建项目的时候都要配置一次,比较繁琐。这里使用项目属性表
来配置环境,这样每次新建项目的时候只需要导入配置好的项目属性表即可。- 切换到属性管理器视图,如下图所示

如果,默认的属性管理器的视图没有打开,可以在视图-> 其他窗口->属性管理器将其打开,如下图:

- 新建一个项目属性表。属性管理器下游两个目录:Debug | Win32和Release | Win32,可以针对Debug和Release给项目设置不同的属性,这里仅仅配置Debug下的项目属性。右键Debug | Win32
选择新建项目属性表,如下图:

- 在新建的项目属性表中,配置SDL的开环境。右键新建的属性表,选择属性,如下图所示:

- 配置动态链接库
使用上面配置好的属性表,只能保证在开发的环境是好的,但是运行的时候操作系统却找不到SDL的动态链接库SDL2.dll,还需要告诉操作系统该dll的位置,有以下三种方法可以将该dll的位置
告知操作系统- 将 @\SDL2-2.0.4\lib\x86下的SDL2.DLL复制到C:\Windows\System32目录下面(如果是64位的要复制到C:\Windows\SysWOW64)(@为SDL所在的根目录)
- 将SDL2.dll复制到项目生成exe文件同目录下
- 将 @\SDL2-2.0.4\lib\x86 添加到环境变量PATH
- 切换到属性管理器视图,如下图所示
- SDL程序的main函数
要将SDL的main函数声明为如下形式
int main(int argv,char* argc[])
否则,会得到如下错误:

- 测试SDL配置是否正确
# include <SDL.h>
int main(int argc, char* argv)
{
//Start SDL
SDL_Init(SDL_INIT_EVERYTHING);
//Quit SDL
SDL_Quit();
return 0;
return 0;
}
FFMPEG
FFMPEG的配置和SDL的配置过程基本类似,所不同的是其下载的文件包。
要配置FFMPEGE的开发环境需要下载两个文件:Dev和Shared,如下图所示(下载地址:https://ffmpeg.zeranoe.com/builds/)

Dev文件只包含了include文件和lib文件,其dll文件在shared文件下。
Visual studio 通用开发环境配置:SDL,FFMPEG为例的更多相关文章
- Visual Studio 2012 开发环境配置+控制台工具+桌面应用程序
一.界面布局视图设置 1.窗口的布局.控制台窗口运行恢复到开发环境的设置方法 也可以保存好设好的个性化设置,导入设置: 2.视图|服务器资源管理器(sever explorer) 可以访问数据源.服务 ...
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...
- Visual Studio OpenCV 开发环境配置
因为VS配置OpenCV好多新手都很难一次配置成功,而且OpenCV库每新建一个项目都要配置很是麻烦,所以今天就给大家介绍一个“一劳永逸”的方法. 注:理论上只要VS和OpenCV是版本兼容的,该方法 ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- Visual Studio 2017开发环境的安装
Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤. ...
- Google Android Studio Kotlin 开发环境配置
Google 近日开发者大会宣布Kotlin成为Android开发的第一级语言,即Android官方开发语言,可见Google对Kotlin的重视,本文就介绍一下Android Studio下的Kot ...
- 配置合适的Visual Studio 2017 开发环境(其它版本的也适用)
1.VS 安装完成后,可以重新配置合适的开发环境 第一步: 第二步: 第三步: 第四步:选择合适自己的开发环境 这里我选择常规,具体的可以看窗口右边的说明
- Visual Studio + Qt开发环境搭建
1. 安装Visual Studio 2015 Visual Studio 2015下载地址如下,安装比较常规,不做介绍. Visual Studio Enterprise 2015 with Upd ...
- Unity3D-RPG项目实战(3):整合Visual Studio 2013开发环境
古人云:工欲善其事必先利其器,IDE尽管属于一个非常上层的工具,可是一个好的IDE对工作效率提高还是非常大的. 事实上我还是满想用一下官方推荐的Mono,毕竟跨平台如今还是非常重要的一个特性.尝试了这 ...
随机推荐
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
- 再谈C#采集,一个绕过高强度安全验证的采集方案?方案很Low,慎入
说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析 ...
- Xamarin与Visual stuido2015离线安装包分享
最近看见大伙留言才知道国内安装Xamarin开发原来这么艰辛啊! 第一:网速不快 第二:Android SDK下载受限 等等... 鉴于这些原因,特写下这篇文章以及分享打包好的离线包以帮助大家尽快体验 ...
- nodejs项目mysql使用sequelize支持存储emoji
nodejs项目mysql使用sequelize支持存储emoji 本篇主要记录nodejs项目阿里云mysql如何支持存储emoji表情. 因由 最近项目遇到用户在文本输入emoji进行存储的时候导 ...
- JavaScript学习笔记(四)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- Android中Fragment和ViewPager那点事儿(仿微信APP)
在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...
- 把int*传值给char*,打印出错误的数字
首先进入debug模式查看i的地址也就是ptr的值 以16进制位小端模式存储(一个整型四个字节,8位16进制数)(根据系统位数情况) 紧接着因为ptr是char*型指针变量,读取数据时按照一个字节一个 ...
- Xamarin体验:使用C#开发iOS/Android应用
Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发. 简介 Xamarin是基于Mo ...
- Vue.js——60分钟快速入门
Vue.js介绍 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们 ...
- Leetcode 笔记 98 - Validate Binary Search Tree
题目链接:Validate Binary Search Tree | LeetCode OJ Given a binary tree, determine if it is a valid binar ...




