引言
每一个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.4libx86下的SDL2.DLL复制到C:WindowsSystem32目录下面(如果是64位的要复制到C:WindowsSysWOW64)(@为SDL所在的根目录)
- 将SDL2.dll复制到项目生成exe文件同目录下
- 将 @SDL2-2.0.4libx86 添加到环境变量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文件下。