我刚刚安装了SDL 2,我遇到了一些严重的问题.这是我的代码:
#include <SDL2\SDL.h>
int main(int argc, char* argv[]){
SDL_Init( SDL_INIT_VIDEO );
SDL_Quit();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我无法编译,因为我收到标题中描述的错误:
obj\Debug\main.o||In function SDL_main':|
C:\Users\myuser\Desktop\test 2000\main.cpp|5|undefined reference to SDL_Init'|
C:\Users\myuser\Desktop\test 2000\main.cpp|7|undefined reference to SDL_Quit'|
c:\program files\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(main.o):main.c|| undefined reference to WinMain@16'|
||=== Build finished: 3 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)
小智 6
我想你要
#define SDL_MAIN_HANDLED
Run Code Online (Sandbox Code Playgroud)
在主文件中,在该行之前
#include <SDL2/SDL.h>
Run Code Online (Sandbox Code Playgroud)
来自:https : //stackoverflow.com/a/32343111/5214543
小智 6
您需要以相同的顺序将这些添加到链接器库中:
mingw32
SDL2main
SDL2
Run Code Online (Sandbox Code Playgroud)
请注意,顺序很重要。
小智 5
发布编译器命令.例如:g ++/gcc ....
你可能没有链接库.
http://content.gpwiki.org/index.php/SDL:Tutorials:Setup 你应该有一个lib的路径,包含在ide中.(我看到你正在使用代码块)
添加到链接器设置:-lmingw32 -lSDLmain -lSDL
http://www.sdltutorials.com/sdl-tutorial-basics
尽管接受的答案有效(如果您完全遵循它或阅读评论),但有一个警告:您必须按照给定的链接库的顺序进行操作
g++ 01_hello_SDL.cpp -I{add correct path here}/include/SDL2 -L{add correct path here}/lib -lmingw32 -lSDL2main -lSDL2
如果您不希望控制台与窗口一起运行,请添加-mwindows到选项
| 归档时间: |
|
| 查看次数: |
23398 次 |
| 最近记录: |