Hỏi cách cài sdl

Mọi người có thể hướng dẫn em chi tiết cách cài SDL và visual studio hoặc code block được không ạ. Em làm theo hướng dẫn trên laztfoo.net toàn bị lỗi như hình.

em vô trang http://www.msys2.org/, down đúng phiên bản tương ứng với Win của em là 32-bit hoặc 64-bit về. (x86_64 là 64bit, i686 là 32bit). Ví dụ là 64bit: down cái msys2-x86_64-20161025.exe về, rồi install nó vô, ví dụ H:\msys2_64

Sau đó vô Start Menu -> MSYS2 64-bit -> MSYS2 MSYS
:

Nó hiện ra màn hình thế này:

Gõ:
pacman -Syu


rồi nhấn enter hết cho nó update msys.

Sau đó tắt cửa sổ, rồi open nó lại (Start Menu -> MSYS2 64-bit -> MSYS2 MSYS). Sau đó gõ tiếp:
pacman -S make tar mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb


nhấn enter cho nó install phiên bản gcc mới nhất vô.

Xong xuôi gõ tiếp
pacman -Ss x86_64-sdl2


em sẽ thấy nó hiện 1 đống thư viện cho SDL2, install hết vô:
pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_gfx mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-SDL2_ttf

Install xong xuôi hết thư viện, tắt cái window msys đi, vô Start Menu -> MSYS2 64-bit -> MSYS2 MinGW 64-bit,

nó hiện ra 1 console khác, em gõ mấy lệnh như g++ --version rồi which sdl2.dll make --version để xác nhận là install thành công


Sau đó em mở Codeblocks lên, vô Settings -> Compiler…

chọn Copy, rồi Rename lại thành tên khác, vd MSYS2 MinGW 64-bit, rồi gõ vào đúng tên đường dẫn tới thư mục mingw64, rồi chọn thẻ Toolchain execuatables chỉnh cho đúng mấy cái Program Files

nếu cần thì chọn Compiler này làm default compiler cũng được, bằng cách bấm vô button Set as default.
Nhấn Finish để hoàn tất tạo compiler mới cho C::B.


Sau đó Create new project, chọn Empty Project, đặt tên, rồi chọn Compiler cho đúng:

trước khi build thì em cần link thư viện SDL cho nó: vô Project -> Build Options…

trong cột bên phải, nhấn vô tên project (đừng nhấn vô Debug hay Release)
bên trái chọn thẻ Linker settings, trong mục Other linker options, thêm -lmingw32 -lSDL2main -lSDL2

cuối cùng chọn New->Empty file->Lưu nó lại với tên main.cpp, chọn cả Debug & Release.
copy nội dung này vô main.cpp

#include <SDL2/SDL.h>

int main(int argc, char* argv[])
{
    SDL_Init(SDL_INIT_VIDEO);

    SDL_Window* window = SDL_CreateWindow("SDL2 Test",
        SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
        400, 300, SDL_WINDOW_SHOWN);
    SDL_Renderer* renderer = SDL_CreateRenderer(window, -1,
        SDL_RENDERER_ACCELERATED);

    bool quit = false;
    while (!quit)
    {
        SDL_Event event;
        while (SDL_PollEvent(&event))
        {
            if (event.type == SDL_QUIT)
                quit = true;
        }

        SDL_SetRenderDrawColor(renderer, 0, 63, 127, 255);
        SDL_RenderClear(renderer);
        SDL_RenderPresent(renderer);

        SDL_Delay(16);
    }

    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}

Compile, run nó hiện ra chương trình thế này là ok


Dài dòng thế này chứ về sau em tạo project SDL2 mới chỉ cần New Project rồi thêm -lmingw32 -lSDL2main -lSDL2 vô linker settings là xong rồi.

6 Likes

giúp em với ạ.Nó bị mắc lỗi gì vậy à, em cài thư viện SDL mà mãi đều 1 lỗi như vậy.

CÁCH CÀI SDL:

  1. Bạn install xong SDL từ web rồi thì vào trong nó sẽ có 2 cái folder chính để sử dụng là lib và include:

  2. Bạn vào Visual studio, bạn chọn project bạn cần sử dụng SDL nhấn Alt-Enter thì ra màn hình Property.

  3. Chọn tab C/C++ chon General chọn mục Additional Include Directories bạn add folder include của SDL vào

  4. Chọn platform ở ngay dưới title bar của windows là x64 hoặc x86 thì tùy vào hđh của bạn.

  5. Chọn tab linker chọn General chọn mục Additional Library Directories bạn add folder lib của SDL vào

  6. Vẫn trong tab Linker chọn Input chọn mục Additional Dependencies add 2 cái này vào:

    > SDL2.lib
    

    SDL2main.lib

7.Ấn OK và bạn đã xong.

P/s: lỗi load ảnh nên có vấn đề gì cứ hỏi mình

1 Like

cảm ơn về sự giúp đỡ của bạn, nhưng mình dùng Code:Block ko dùng Visual studio.Mong bạn chỉ giáo :slight_smile:

Vote dùng Visual studio khi làm game cho đỡ rắc rối!

2 Likes

thanks.:slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?