add source code

This commit is contained in:
2025-09-19 23:19:25 +08:00
parent 0c8ce08c40
commit 8a0c11bc66
2 changed files with 48 additions and 0 deletions

16
CMakeLists.txt Normal file
View File

@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.16)
project(sdl-window LANGUAGES C)
add_executable(sdl-window main.c)
# 由于我们把SDL2安装在了系统目录中
# 所以这里可以直接在系统目录中寻找
find_package(SDL2 REQUIRED)
include(GNUInstallDirs)
install(TARGETS sdl-window
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2)

32
main.c Normal file
View File

@@ -0,0 +1,32 @@
#include <SDL2/SDL_error.h>
#include <SDL2/SDL_timer.h>
#include <SDL2/SDL_video.h>
#include <stdio.h>
#include <SDL2/SDL.h>
#undef main
int main()
{
SDL_Window *window = NULL; // SDL窗口指针
SDL_Init(SDL_INIT_VIDEO);
window = SDL_CreateWindow("Hello SDL Window",
SDL_WINDOWPOS_UNDEFINED, // 不定义,让系统决定
SDL_WINDOWPOS_UNDEFINED,
640, // 宽
480, // 高
SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE);
if (!window) {
printf("SDL_CreateWindow() failed, err: %s\n", SDL_GetError());
return -1;
}
SDL_Delay(10000); // 延迟10000ms
SDL_DestroyWindow(window); // 销毁窗口
SDL_Quit(); // 释放资源
return 0;
}