Я пытаюсь использовать sdl2, но когда я пытаюсь запустить мою программу, она выдает ошибку, которая говорит:
code execution can't proceed because SDL2.dll couldn't be found. try reinstalling [...]
Я компилирую из терминала, без каких-либо IDE (я пишу код в возвышенном тексте). Моя команда выглядит следующим образом
c:\Users\lenerdv\Desktop\cpp\test>g++ src\main.cpp -o ..\..\test.exe -L lib\sdl32\lib -l SDL2 -I lib\sdl32\inc -m32
, а моя файловая система выглядит следующим образом
desktop
|_ cpp
|_ test
|_ src
| |_ main.cpp
|
|_ lib
|_ sdl32
|_ inc
| |_ /all the sdl headers
|
|_ lib
|_ cmake
|_ pkgconfig
|_ libSDL2.a
|_ libSDL2.dll.a
|_ libSDL2.la
|_ libSDL2_test.a
|_ libSDL2_test.la
|_ libSDL2main.a
|_ libSDL2main.la
Я попытался поместить файл .exe
в тот же каталог, что и файлы lib
, но это не работает
Я подумал, что проблема может быть в том, что он ищет SDL2.dll
файлы, и все они libSDL2.*
, и я попытался изменить имена файлов, но это не сработало.
Я также Я думал, что проблема в расширении, потому что они все в *.dll.a
, *.a
или *.la
, я попытался изменить это, и это не сработало (я также попробовал комбинацию двух).
Кстати, это мой main.cpp
#define SDL_MAIN_HANDLED
#include <SDL.h>
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* window = SDL_CreateWindow("Ikari", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 450, SDL_WINDOW_SHOWN);
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, 0);
SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
SDL_Delay(3000);
SDL_Quit();
return 0;
}
Я сейчас серьезно запутался, любая помощь будет признательна.