[英]Couldn't find sdl2.dll
我正在嘗試使用 sdl2,但是當我嘗試運行我的程序時,它給了我一個錯誤提示
code execution can't proceed because SDL2.dll couldn't be found. try reinstalling [...]
我正在從終端編譯,沒有任何 IDE(我在 Sublime Text 中編寫代碼)。 我的命令看起來像這樣
g++ src\main.cpp -o ..\..\test.exe -L lib\sdl32\lib -l SDL2 -I lib\sdl32\inc -m32
我的文件系統是這樣的
我嘗試將.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("Window", 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;
}
我是否缺少文件或編譯器標志或其他東西?
libSDL2.dll.a
是一個導入庫。 您在編譯時使用它來鏈接代碼以將.dll
加載到您的二進制文件中。 您仍然需要在運行時擁有包含實際實現的SDL2.dll
文件。 在 Windows 上,在PATH
中搜索.dll
文件; 使用它們的最簡單方法是將它們放在包含可執行文件的目錄中。
.dll
文件可在 SDL 網站上下載,您似乎只有開發文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.