Windows에서 Visual Studio 코드 및mingw64를 사용하여 SDL2 설치

17666 단어 sdl2gamedev
최근에 나는 나의 설정을 macOS에서 Windows로 바꾸었다. 나는 Windows에서 GameDev로 실험을 하고 싶다.그래서 제가 하는 첫 번째 일은 제 개발 환경을 설정하고 SDL2 코드를 테스트하는 것입니다.
Visual Studio 코드와mingw64를 사용하여 SDL2를 설정하는 방법에 대한 간단한 안내서입니다. Windows에서 SDL2를 사용할 수 있기를 바랍니다.

설치 도구.


우리가 설치해야 할 첫 번째 일은 Visual Studio Code 편집기다.VS 코드를 다운로드, 설치 및 시작합니다.
icrosoft에서 C/C++ 플러그인을 설치해야 합니다.

현재 g++와 같은 포함된 컴파일러를 사용하려면mingw64를 설치해야 합니다. Visual Studio 컴파일러를 사용하려면 설정을 변경할 수 있지만, 현재는mingw64를 계속 사용합니다.
설치에 편리하도록 MinGW-W64 Online 설치 프로그램을 사용하십시오. 설정 중에 설치할 컴파일러의 경로를 주의하십시오.
현재 다운로드 SDL2 가 필요합니다.예를 들어, MinGW의 개발 라이브러리를 다운로드해야 합니다.

실행 라이브러리를 다운로드하여 우리의 게임을 실행합니다.

우리는 x64 버전을 사용할 것이다.이 폴더들을 찾을 수 있는 위치로 압축을 풀십시오. 왜냐하면 우리는 그것을 필요로 하기 때문입니다.

SDL2 프로젝트 만들기


이제 SDL2 프로젝트를 시작하겠습니다.프로젝트에 대한 폴더를 만들고 VSCode로 엽니다.폴더에 src라는 다른 파일을 만들고 여기에 코드 파일을 저장합니다.SDL2 및 C++ 구성의 경우 를 만듭니다.vscode 폴더.컴파일된 출력에 대해build 폴더를 만듭니다.너의 편집자는 아마 이렇을 것이다

우리가 만들어야 할 첫 번째 일은 코드를 컴파일하는 것이다.재중vscode** 폴더, 새 파일을 만들고 이름을 **tasks로 지정합니다.json.파일에 다음 구성을 기록합니다.
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "SDL2",
            "command": "D:\\sdk\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "src\\*.cpp",
                "-o",
                "build\\game.exe",
                "-ID:/sdk/sdl2/mingw/x86_64/include",
                "-LD:/sdk/sdl2/mingw/x86_64/lib",
                "-lmingw32",
                "-lSDL2main",
                "-lSDL2",
                "-mwindows"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
탭 옵션은 작업을 식별하는 데 사용할 이름입니다.
명령 옵션에서, 우리는 g++를 설치하는 경로, 즉 우리가mingw64를 설치하는 곳을 설치해야 한다.
args 옵션에서, 우리는 주의할 만한 매개 변수가 있습니다.예를 들어, "build\\game.exe", 은 우리 게임의 이름과 저장할 폴더입니다."-ID:/sdk/sdl2/mingw/x86_64/include"는 SDL2 파일을 저장하는 곳입니다. 이것은 SDL2 포함 라이브러리에 사용되며 "-LD:/sdk/sdl2/mingw/x86_64/lib", SDL2 라이브러리까지의 경로와 같습니다."-lmingw32"은mingw 라이브러리를 사용하여 컴파일하는 옵션입니다. 이외에 64비트 컴파일러를 사용합니다."-lSDL2main",
"-lSDL2",
"-mwindows"
이 예에서 우리는 컴파일러에게 SDL2main과 SDL2 라이브러리를 포함해야 하며 게임을 시작할 때 명령 프롬프트가 필요하지 않다고 지시합니다.
현재, 우리는 발표를 하나 만들어야 한다.json 파일은 우리의 게임을 시작하고 디버깅합니다.
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb)",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\build\\game.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\sdk\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enably pretty printing",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "SDL2"
        }
    ]
}
"program": "${workspaceFolder}\\build\\game.exe",는 우리가 시작할 실행 가능한 파일로 우리의 상황에서 우리의 게임과 같다."miDebuggerPath": "D:\\sdk\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe"는 gdb가 있는 경로입니다.exe 네."preLaunchTask": "SDL2" 프로그램을 시작하기 전에 "SDL2"작업을 실행해야 합니다. 이것은 작업의 탭 옵션에 입력한 이름입니다.json.
이제 마지막 구성 단계로서 Intellisence 자동 완성과 컴파일러 설정을 위해 C++ 옵션을 설정해야 합니다.
Visual Studio 코드에서 Ctrl+Shift+P를 눌러 C/C++를 작성하고 C/C++ 구성 편집(GUI)을 선택합니다.여기서 우리는 몇 가지 설정을 바꿀 것이다.
컴파일러 경로에서 경로를 컴파일러에 넣어야 합니다.우리가 임무 중에 놓은 것처럼.json 및 IntelliSense 모드를 gcc_x64로 변경합니다.포함 경로에서 SDL2에 경로를 추가합니다.

변경할 수 있는 다른 옵션은 C 표준과 C++Standard입니다. **이 설정을 저장하면 **C\ucpp\uproperties라는 파일이 있습니다.json.vscode 폴더.
이제 SDL2를 배치해야 합니다.dll 파일은 구축 폴더에서 우리의 SDL2 게임을 실행할 수 있습니다.
게임 버전 기억하기

우리의 SDL2 게임을 테스트합니다.


홈 뷰를 작성합니다.*src* 폴더의 cpp 파일에서 우리의 환경을 테스트하고 다음 코드를 작성합니다
#include <SDL2/SDL.h>
#include <iostream>

int main(int argv, char** args)
{
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("Hello SDL", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, 0);
    SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);

    bool isRunning = true;
    SDL_Event event;

    while (isRunning)
    {
        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
            case SDL_QUIT:
                isRunning = false;
                break;

            case SDL_KEYDOWN:
                if (event.key.keysym.sym == SDLK_ESCAPE)
                {
                    isRunning = false;
                }
            }
        }

        SDL_RenderClear(renderer);
        SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);

        SDL_RenderPresent(renderer);
    }

    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}
*F5*를 누르고 손가락을 교차합니다.빨간색 창을 보셔야 합니다. 만약 그것을 보신다면 SDL2와 VS 코드를 사용할 준비가 되어 있습니다!

이것은 SDL2에서 시작하는 간단한 구성입니다. SDL_image를 사용하려면 헤더와 라이브러리를 추가하는 것과 같은 절차를 수행해야 합니다.SDL2를 계속 사용하고 이 구성을 사용하는 데 문제가 있는지 확인하지만 이제 SDL2를 사용할 수 있습니다.
게시물Setup SDL2 with Visual Studio Code and mingw64 on Windows이 먼저 Giovanni Codes에 올라왔다.

좋은 웹페이지 즐겨찾기