Visual studio 通用开发环境配置:SDL,FFMPEG为例

时间:2021-12-23 19:03:24

引言

每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤:

  1. 下载库文件,这里假定是已经预先编译完成的。
  2. 配置库文件的包含目录(include)和库目录(lib)
  3. 配置库文件的动态链接库(dll),这一步是很多人容易忽略的。上面配置好包含目录和库目录,只是开发环境配置完成了,没有配置好dll,在使用该库的程序运行时,会造成操作系统无法加载库对应的动态链接库。

    下面以SDL的配置为例,详细说明是如何配置的。

SDL在visual studio下的开发环境配置

  1. 下载SDL开发库 http://www.libsdl.org/download-2.0.php 现在的稳定版本是2.0.4

    Visual studio 通用开发环境配置:SDL,FFMPEG为例
  2. 配置VS的开发环境。

    Visual Studio 2008以后,在项目->属性下配置的VC++的包含目录及库,只针对当前项目有效,每次新建项目的时候都要配置一次,比较繁琐。这里使用项目属性表

    来配置环境,这样每次新建项目的时候只需要导入配置好的项目属性表即可。
    1. 切换到属性管理器视图,如下图所示

      Visual studio 通用开发环境配置:SDL,FFMPEG为例

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

      Visual studio 通用开发环境配置:SDL,FFMPEG为例
    2. 新建一个项目属性表。属性管理器下游两个目录:Debug | Win32和Release | Win32,可以针对Debug和Release给项目设置不同的属性,这里仅仅配置Debug下的项目属性。右键Debug | Win32

      选择新建项目属性表,如下图:

      Visual studio 通用开发环境配置:SDL,FFMPEG为例
    3. 在新建的项目属性表中,配置SDL的开环境。右键新建的属性表,选择属性,如下图所示:

      Visual studio 通用开发环境配置:SDL,FFMPEG为例
    4. 配置动态链接库

      使用上面配置好的属性表,只能保证在开发的环境是好的,但是运行的时候操作系统却找不到SDL的动态链接库SDL2.dll,还需要告诉操作系统该dll的位置,有以下三种方法可以将该dll的位置

      告知操作系统
      1. 将 @\SDL2-2.0.4\lib\x86下的SDL2.DLL复制到C:\Windows\System32目录下面(如果是64位的要复制到C:\Windows\SysWOW64)(@为SDL所在的根目录)
      2. 将SDL2.dll复制到项目生成exe文件同目录下
      3. 将 @\SDL2-2.0.4\lib\x86 添加到环境变量PATH
  3. SDL程序的main函数

    要将SDL的main函数声明为如下形式
int main(int argv,char* argc[])

否则,会得到如下错误:

Visual studio 通用开发环境配置:SDL,FFMPEG为例

  1. 测试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/)

Visual studio 通用开发环境配置:SDL,FFMPEG为例

Dev文件只包含了include文件和lib文件,其dll文件在shared文件下。