qt sdl linux,Mac QT 搭建SDL程序开发环境

Mac QT 搭建SDL程序开发环境

简介

直接翻译了一下官网介绍:

简单的DirectMedia Layer是一个跨平台开发库,旨在通过OpenGL和Direct3D提供对音频,键盘,鼠标,操纵杆和图形硬件的低层访问。 它被视频播放软件,模拟器和流行游戏使用,包括Valve屡获殊荣的目录和许多Humble Bundle游戏。

SDL支持Windows,Mac OS X,Linux,iOS和Android。 可以在源代码中找到对其他平台的支持。

SDL是用C语言编写的,与C ++本身一起工作,并且有几种其他语言可用的绑定,包括C#和Python。

SDL 2.0在zlib许可下分发。 此许可证允许您在任何软件中自由使用SDL。

SDL开发包位置

用命令:brew info sdl2

brew info sdl2

sdl2: stable 2.0.14 (bottled), HEAD

Low-level access to audio, keyboard, mouse, joystick, and graphics

https://www.libsdl.org/

/usr/local/Cellar/sdl2/2.0.14_1 (91 files, 5MB) *

Poured from bottle on 2020-12-30 at 21:07:39

From: https://mirrors.ustc.edu.cn/homebrew-core.git/Formula/sdl2.rb

License: Zlib

==> Options

--HEAD

Install HEAD version

==> Analytics

install: 88,856 (30 days), 331,316 (90 days), 1,027,233 (365 days)

install-on-request: 8,671 (30 days), 32,802 (90 days), 106,951 (365 days)

build-error: 0 (30 days)

可以看到我的SDL开发包在:/usr/local/Cellar/sdl2/2.0.14_1目录下。

如果没有安装的同学,可以敲命令:brew install sdl2安装。

QT 创建第一个SDL程序

QT Create创建工程

5af713c4d521

QT Create

01-sdl-basic.pro

TEMPLATE = app

CONFIG += console

CONFIG -= app_bundle

CONFIG -= qt

SOURCES += \

main.c

# 设置头文件路径

INCLUDEPATH += /usr/local/Cellar/sdl2/2.0.14_1/include/

# 设置库文件路径

LIBS += -L /usr/local/Cellar/sdl2/2.0.14_1/lib -lSDL2

5af713c4d521

sdl-basic.pro

INCLUDEPATH LIBS 中包含的SDL2是SDL的共享库,在/usr/local/Cellar/sdl2/2.0.14_1/lib/目录下。

main.c文件是这样的:

#include

#include "SDL2/SDL.h"

const int WIDTH = 400, HEIGHT = 400; // SDL窗口的宽和高

int main()

{

if (SDL_Init(SDL_INIT_EVERYTHING) < 0) { // 初始化SDL

//cout << "SDL could not initialized with error: " << SDL_GetError() << endl;

}

SDL_Window *window = SDL_CreateWindow("Hello SDL world!", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WIDTH,

HEIGHT, SDL_WINDOW_ALLOW_HIGHDPI); // 创建SDL窗口

if (NULL == window) {

//cout << "SDL could not create window with error: " << SDL_GetError() << endl;

}

SDL_Event windowEvent; // SDL窗口事件

while (1) {

if (SDL_PollEvent(&windowEvent)) { // 对当前待处理事件进行轮询。

if (SDL_QUIT == windowEvent.type) { // 如果事件为推出SDL,结束循环。

printf ("SDL quit!!") ;

break;

}

}

}

SDL_DestroyWindow(window); // 推出SDL窗体

SDL_Quit(); // SDL推出

return 0;

}

好了就是这么简单,运行看一下效果:

5af713c4d521

image-20210318214439293

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值