我目前正在使用 SDL 开发一个应用程序。为了使用它,我已经在项目设置中添加了库和头文件C/C++ Build -> Settings -> Tool Settings -> Libraries/Includes
.但是,当我尝试构建一个测试程序时,例如
#include <stdio.h>
#include <SDL/SDL.h>
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Quit();
return 0;
}
我在链接过程中收到这条漂亮的错误消息:
d:/program/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../libmingw32.a(main.o):在函数
main': C:MinGWmsys1.0srcmingwrt/../mingw/main.c:73: undefined reference to
WinMain@16'
这很奇怪,因为目录C:\MinGW甚至根本不存在。
用于链接的命令是这样的:gcc "-LD:\Programme\SDL\lib" -o test.exe test.o -lsdl
在尝试让库链接工作两个小时后,我很困惑,不知道我做错了什么。帮助将不胜感激。
看起来您正在构建一个需要WinMain
的Windows GUI
应用程序,而您的代码仅提供用于控制台应用程序的main
函数。
因此,如果这应该是控制台应用程序,则必须相应地调整链接器设置,或者必须声明WinMain
。