使用xmake来开发sdl初体验

it is fucking easy to get the fucking library

  • test on Mac
xmake create hellosdl
cd hellosdl

  • xmake.lua
add_rules("mode.debug", "mode.release")
add_requires("tbox 1.6.*", "zlib", "libpng ~1.6","libsdl 2.26.4","libsdl_image 2.6.2")
-- 注意这里的tbox和zlib等等依赖可能非必需,因为这里是复制的
-- libsdl libsdl_image 是自己加的
target("hellosdl")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("tbox","libsdl","libsdl_image")
  • src/main.cpp
#include <stdio.h>
#pragma mark - thirdpartylib
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#pragma mark - windowconst

const int WIDTH = 100;
int main(int argc, char const *argv[])
{

  SDL_Window *window;
  SDL_Renderer *render;
  if (SDL_Init(SDL_INIT_EVERYTHING) != 0)
  {
    printf("er");
    return 1;
  }
  window = SDL_CreateWindow("SimpleWindow", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 
                            WIDTH, WIDTH,
                            SDL_WINDOW_OPENGL);
  if (!window)
  {
    printf("err\n");
    return 1;
  }

  render = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE);
  if (!render)
  {
    return 1;
  }
  SDL_SetRenderDrawColor(render, 0, 255, 255, 255);
  SDL_RenderClear(render);
  SDL_RenderPresent(render);
  while (1)
  {
    SDL_Event event;
    while (SDL_PollEvent(&event))
    {
      switch (event.type)
      {
      case SDL_QUIT:
        SDL_Quit();
        break;
      case SDL_KEYDOWN:
        SDL_Quit();
        break;
      default:
        break;
      }
    }
  }

  return 0;
}

xmake r #这里下载依赖,但是依赖不在当前目录,但是能include,6
/build/.. #运行最终生成的可执行文件

xrepo查包

xrepo search sdl

只能说有点意思,比cmake好很多(不会cmake)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值