C++ 编译器可以';找不到SDL?

C++ 编译器可以';找不到SDL?,c++,command-line,compiler-construction,sdl,C++,Command Line,Compiler Construction,Sdl,说我必须把一些文件复制到MinGW文件中。我按照指示做了,然后进行了反复检查,但仍然没有运气 这是我尝试使用命令行编译它时遇到的错误: E:\Roguelike\g++ -Wall -std=c++11 -lSDL2 -lSDLmain sdltest.cpp -o sdltest e:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin d -lSDLmain collect2.exe: e

说我必须把一些文件复制到MinGW文件中。我按照指示做了,然后进行了反复检查,但仍然没有运气

这是我尝试使用命令行编译它时遇到的错误:

E:\Roguelike\g++ -Wall -std=c++11 -lSDL2 -lSDLmain sdltest.cpp -o sdltest
e:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin
d -lSDLmain
collect2.exe: error: ld returned 1 exit status

E:\Roguelike\
我试过编译一个不使用SDL的普通测试程序,它可以正常工作,所以我知道编译器工作正常

我还注意到,当我将bin、lib、include文件复制到MinGW文件夹时,有多个选项。也许我用错了

在SDL2-2.0.3文件夹中,有名为“i686-w64-mingw32”、“x86_64-w64-mingw32”、“include”、“lib”和“test”的文件。我都试过了,但还是看不出问题出在哪里。可能是SDL2.0.3中的错误

我一定是做错了什么,所以有人能指导我如何正确地为MinGW 4.8.1安装SDL2吗


如果安装正确,可能是我编译错了?

您链接到的安装指南的第四步:

链接时,必须使用-lSDL2main链接SDL2main.a和SDL2.a 和-lSDL2


如果您没有以任何其他方式偏离指南,那么尝试一下,它应该会起作用。

g++-Wall-std=c++11-lSDL2-lSDLmain sdltest.cpp-o sdltest这是我用来编译的命令it@thejason而这很可能是导致你出现问题的原因。尝试更改
-lSDL2main-lSDL2
-lSDL2-lSDLmain
。我记得订单很重要,-lSDL2main应该放在前面,-lSDL2yes这就是它实际存在时明显缺少的东西如果这就是你的意思什么?我只是说,在你上面的帖子中,你有
SDLmain
(没有2)。它应该是
SDL2main
。啊,我明白你的意思了,我也试过了,现在我在appdata中某个未识别的引用“SDL_Init”的路径上遇到了不同类型的错误