使用g++编译SDL的问题

Issues compiling SDL with g++

本文关键字:问题 SDL 编译 g++ 使用      更新时间:2023-10-16

当我尝试编译文件时

#include "SDL2SDL.h"
int main( int argc, char* argv[] )
{
   //Start SDL
   SDL_Init( SDL_INIT_EVERYTHING );
   //Quit SDL
   SDL_Quit();
   return 0;    
}

--SDLwiki中的一个示例——在的命令行上

g++ -o SDL_Test.exe SDL_Test.cpp -lmingw32 -lSDLmain -lSDL

我收到一个错误,说我的计算机找不到-lSDLmain和-lSDL。如果没有库的东西,它就很难解释函数。

我认为问题与-l东西有关,但我不知道它们是做什么的…

如果有区别的话,我的电脑是64位的。我将x84_64-mingw32 bin、include和lib复制到C:\MinGW版本中。

我主要想对我的问题有一个明确的解决方案,但如果你能试着解释一下l和其他事情,那就太棒了。

-::-greatwolf在聊天中回答:原来我使用的是32位MinGW和64位SDL文件;我只需要用32位版本替换64位文件。此外,我必须将编译器指向我的SDL2.dll文件。结束编译命令为g++ -o SDL_Test.exe SDL_Test.cpp -LC:MinGWlib -lmingw32 -lSDL2main C:MinGWbinSDL2.dll

您必须确保使用-L编译器标志为库指定适当的搜索路径。否则,它将不知道在哪里查找链接。