SDL2.0 学习笔记-1 windows下的第一个测试程序

简介: SDL全称是Simple DirectMedia Layer,是一个开源的、跨平台(win32,linux,mac)的多媒体开发c语言库。 官方网站 http://www.libsdl.org/   第一步,下载源文件 首先去这个页面http://www.libsdl.org/tmp/download-2.0.php下载相关资源文件,直接下载SDL2-2.0.0.zip 来自己编译,或者按自己的系统下载相关的开发资源(bin和include)。

SDL全称是Simple DirectMedia Layer,是一个开源的、跨平台(win32,linux,mac)的多媒体开发c语言库。

官方网站 http://www.libsdl.org/

 

第一步,下载源文件

首先去这个页面http://www.libsdl.org/tmp/download-2.0.php下载相关资源文件,直接下载SDL2-2.0.0.zip 来自己编译,或者按自己的系统下载相关的开发资源(bin和include)。解压资源包后,内容如下:

 

 

include目录下头文件,src目录下是SDL的源c文件。

为了方便地在VS下编写SDL程序,可以将include里的内容,放到的开发环境的include目录下,如在C:\Program Files\Microsoft Visual Studio 11.0\VC\include下新建sdl目录放置所有sdl头文件。

(也可以使用junction link,使用mklink /J "C:\Program Files\Microsoft Visual Studio 11.0\VC\include\sdl" ./sdl2.0.../include 命令来完成)

 

第二步,编译SDL(要是下载了相关的开发资源的话,可以直接跳过这一步)

进入VisualC目录下,可以看到vs的sln文件,支持vs2008,vs2010,vs2012,按自己的vs版本选择相关的solution打开,编译,分别可以得到SDL2.lib、SDL2main.lib、SDL2test.lib 、 SDL2.dll文件。


SDL2.lib是核心的静态链接库文件,SDL2main.lib定义了SDL在windows平台下入口函数(这点后面详解),SDLtest.lib用于测试(属于sdltest库,可以用它来测试你当前系统或平台对SDL功能的支持程度)。

 

第三步,编写第一个sdl程序

 

创建工程,新建c或cpp源文件。开始简的coding来测试一下:

复制代码
 1 #include <sdl/SDL.h>
 2 #include <iostream>
 3 
 4 // 由于SDL内部重定义了main, main函数一定得是这个形式,具体为何,后面详细说明
 5 int main(int argc, char * argv[])
 6 {
 7     // 初始化SDL
 8     if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)== -1)) 
 9     {
10         // 初始化失败,打出错误,注意SDL_GetError返回一个字符串,可读性很好,是不是?
11         printf("Could not initialize SDL: %s.\n", SDL_GetError());
12     }
13     else
14     {
15         printf("SDL initialize ok!");
16     }
17     // 结束SDL
18     SDL_Quit();
19     getchar();
20     return 0;
21 }
复制代码


这里需要说明的几点:

1、入口函数不能写成main(),必须有参数,因为SDL将内部已经实现了入口函数,这里的main其实是SDL_main。

2、如果是在windows环境下使用vs,注意测试工程需要作以下设置:

(1)项目属性-配置属性-链接器-系统:子系统(选控制台 (/SUBSYSTEM:CONSOLE)或 窗口 (/SUBSYSTEM:WINDOWS))。

(2)项目属性-配置属性-c/c++:附加包含目录:选择SDL的include目录。

(3)将SDL2.lib、SDL2main.lib添加到项目中。加到 项目属性-配置属性-链接器-输入:附加依赖项,或者直接以文件形式添加。

 

目录
相关文章
|
2月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
308 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
3月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
114 3
Metasploit Pro 4.22.7-2025061201 (Linux, Windows) - 专业渗透测试框架
|
1月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
87 0
|
2月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
111 2
|
4月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
132 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
3月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
112 4
|
4月前
|
安全 Unix Linux
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
116 5
Metasploit Pro 4.22.7-2025052201 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
154 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
|
4月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
138 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
4月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
218 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件