簡體   English   中英

找不到 sdl2.dll

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM