Visual Studio 2015 中 SDL2 开发环境的搭建

2024-01-01 13:36

本文主要是介绍Visual Studio 2015 中 SDL2 开发环境的搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Visual Studio 2015 中 SDL2 开发环境的搭建

  • Visual Studio 2015 中 SDL2 开发环境的搭建
    • 新建控制台工程
    • 拷贝并配置 SDL2 开发文件
      • 拷贝 SDL2 开发文件
      • 配置 SDL2 开发文件
    • 测试
    • SDL2 开发文件的下载链接

Visual Studio 2015 中 SDL2 开发环境的搭建

新建控制台工程

新建 Win32 控制台应用程序。

具体流程:文件->新建->项目->Win32控制台应用程序。

拷贝并配置 SDL2 开发文件

拷贝 SDL2 开发文件

  1. 头文件(*.h)拷贝至项目文件夹的 include 子文件夹下。
  2. 导入库文件(*.lib)拷贝至项目文件夹的 lib 子文件夹下。
  3. 动态库文件(*.dll)拷贝至项目文件夹下。

配置 SDL2 开发文件

  1. 打开属性面板:解决方案资源管理器->右键单击项目->属性。

  2. 头文件配置:配置属性->C/C+±>常规->附加包含目录,输入“include”(刚才拷贝文件的目录)。

  3. 导入库配置:配置属性->链接器->常规->附加库目录,输入“lib” (刚才拷贝文件的目录),配置属性->链接器->输入->附加依赖项,输入“SDL2.lib; SDL2main.lib”(导入库的文件名)。

  4. 动态库不用配置。

测试

  1. 创建源代码文件:在工程中创建一个包含 main() 函数的 C/C++ 文件(如果已经有了可以跳过这一步)。
  2. 包含头文件:
    • 如果是 C 语言中使用 SDL2,则直接使用下面代码:
    #include "SDL2/SDL.h"
    
    • 如果是 C++ 语言中使用 SDL2,则使用下面代码:
    #define __STDC_CONSTANT_MACROS
    extern "C"
    {
    #include "SDL2/SDL.h"
    }
    
  3. main() 中调用一个 SDL2 的初始化函数:
    int main(int argc, char* argv[])
    {if (SDL_Init(SDL_INIT_VIDEO)){printf("Could not initialize SDL - %s\n", SDL_GetError());}else{printf("Success init SDL");}return 0;
    }
    

中间遇到 2 个报错:

报错 1:LNK2019 无法解析的外部符号 __imp__fprintf,该符号在函数 _ShowError 中被引用

解决方法:添加以下代码:

#pragma comment(lib, "legacy_stdio_definitions.lib")

报错 2:LNK2019 无法解析的外部符号 __imp____iob_func,该符号在函数 _ShowError 中被引用

解决方法:添加以下代码:

extern "C"
{
FILE __iob_func[3] = { *stdin, *stdout, *stderr };
}

添加完上面的的代码,运行程序。如果运行无误,则代表 SDL2 已经配置完成。

在这里插入图片描述

PS:这里要在打印语句处设置断点,不然输出完程序就结束了,来不及看输出。

SDL2 开发文件的下载链接

链接:SDL2 库.zip

来自雷霄骅博士,属于比较旧的版本。

这篇关于Visual Studio 2015 中 SDL2 开发环境的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/559405

相关文章

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热