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