首页 > 其他分享 >SDL3 入门(1):Hello, SDL3!

SDL3 入门(1):Hello, SDL3!

时间:2024-06-10 21:55:26浏览次数:12  
标签:git 入门 SDL3 Hello window SDL main hello

在本系列中我们使用 Windows Terminal + Powershell 组合作为我们在 Windows 系统下的终端工具,Windows 11 自带该环境。你也可以使用任意自己喜欢的终端环境代替,或使用鼠标执行等价的操作。

源码准备

我们使用 git 管理我们的项目,所以首先我们创建一个名为 "hello_sdl3" 的目录并且使用 git 进行初始化,这组命令实际上是各平台通用的:

mkdir hello_sdl3
cd ./hello_sdl3
git init

使用 git submodule 机制引入 SDL3 的源代码,源码地址: https://github.com/libsdl-org/SDL.git

git submodule add https://github.com/libsdl-org/SDL.git ./third_party/SDL3

如果不使用 git 可以手工下载源码到对应的目录,不影响后续使用。

接下来在项目文件夹根目录下创建源码文件和 CMakeLists.txt 文件:

hello_window.cpp

#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>

int main(int argc, char* argv[])
{
    SDL_Log("Hello, SDL3!");
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

project(hello_sdl3)
set(CMAKE_CXX_STANDARD 20)

add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/third_party/SDL3" EXCLUDE_FROM_ALL)
link_libraries(SDL3::SDL3)

add_executable(hello_window hello_window.cpp)

编译运行

创建并切换当前目录到 build 文件夹

mkdir build
cd ./build

执行 cmake 命令初始化项目配置,cmake 会自动扫描系统安装的开发环境,在 Windows 系统下一般是 VisualStudio(简称 VS)开发环境:

cmake ..

一切顺利的话已经可以看到 build 文件夹下生成的 VisualStudio 工程文件,接下来可以使用 VS 打开 sln 文件执行编译调试等工作,也可以继续使用 cmake 命令编译。

cmake 命令编译项目:

cmake --build .

如果编译成功可以在 build/Debug 文件夹下看到 hello_window.exe 可执行文件,如果使用 clang 编译则直接在 build 文件夹下。命令行执行:

呃,没输出任何字符,有点不合预期

标签:git,入门,SDL3,Hello,window,SDL,main,hello
From: https://www.cnblogs.com/xrunning/p/18241082

相关文章

  • kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤
    场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。解决:使用步骤Blockingstep进行阻塞处理即可。 1、 如下流程图中利用Blockingstep步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有当两个步......
  • python入门基础知识(条件控制)
     本文内容来自菜鸟教程Python基础教程|菜鸟教程(runoob.com) 本人负责概括总结代码实现。以此达到快速复习目的。Python3条件控制Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:......
  • 2024最新最全【大模型技术AGI】入门到精通,看完这一篇就够了!
    学习大模型(例如GPT-3、BERT等)需要一定的数学和编程基础,以及对人工智能、机器学习、自然语言处理等领域的了解。以下是一个学习大模型的基本路线:基础知识储备:数学基础:掌握线性代数、概率论与数理统计、微积分等数学知识。编程基础:熟悉至少一种编程语言,如Python,因为大多......
  • 2024 年 Web 安全最详细学习路线指南,从入门到入职(含书籍、工具包)【建议收藏】
    第一个方向:安全研发你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分......
  • web入门(1)---6.10
    总结:多做一点NSSCTF的新手赛,了解基本题型,然后打牢基础知识谢队讲解攻防世界Web入门题讲解_哔哩哔哩_bilibili题目来源:攻防世界新手区1.view_source查看源代码2.get_post收获:get方法是直接在url网址后面?a=1这样发送请求post是点击postdate3.robots收获:ro......
  • 2. Mybatis 入门程序
    1.Mybatis入门程序开发步骤1.1数据库表的创建准备数据库表:数据库:north_mybatis,汽车表t_car,字段包括:id:主键(自增)【bigint】car_num:汽车编号【varchar】brand:品牌【varchar】guide_price:厂家指导价【decimal类型,专门为财务数据准备的类型】produce_time:生产时间【cha......
  • 如何快速入门Element-UI:打造高效美观的前端界面
    Element-UI是一款基于Vue.js的开源组件库,提供了丰富的UI组件,可以帮助开发者快速构建美观、响应式的前端界面。本文将详细介绍如何快速入门Element-UI,包括环境搭建、组件使用、样式定制及常见问题解决方法,帮助你高效地使用Element-UI进行前端开发。一、环境搭建1.准......
  • 音频信号处理入门
    普及知识什么是信号分析?将一个复杂信号分解成若干简单信号分量之和,或者用有限的一组参量去表示一个复杂波形的信号,从这些简单的分量组成情况去考察复杂信号的特性。对信号分析的过程实际上就是一个特征提取的过程,从一段复杂的波形中提取我们需要的信息。为什么要分析信号?信......
  • 【简单讲解下Stylus入门使用方法】
    ......
  • 【C语言从入门到入土】第四章数组
    第四章数组———————-数组的引入你所有的压力,都是因为你太想要了,你所有的痛苦,都是因为你太较真了。有些事不能尽你意,就是在提醒你改转弯了。如果事事都如意,那就不叫生活了,珍惜所有不期而遇,看淡所有的不辞而别。文章目录第四章数组4.1如何定义一个数组1.相同......