C++ 代码::Blocks、MinGW、libsdl和gnuc++;编译器:对的未定义引用`WinMain@16
我一直在尝试编译最基本的SDL应用程序,但无论我做什么,都会遇到以下错误:C++ 代码::Blocks、MinGW、libsdl和gnuc++;编译器:对的未定义引用`WinMain@16,c++,mingw,codeblocks,C++,Mingw,Codeblocks,我一直在尝试编译最基本的SDL应用程序,但无论我做什么,都会遇到以下错误: c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16' 我搜索了这个问题的解决方案,但是它们都与Visual C++或缺少的主干有关。我没有使用VisualC++,我
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16'
我搜索了这个问题的解决方案,但是它们都与Visual C++或缺少的主干有关。我没有使用VisualC++,我已经定义了Meal.
这是我的密码:
#include "SDL/SDL.h"
int main( int argc, char* args[] )
{
//Start SDL
SDL_Init( SDL_INIT_EVERYTHING );
//Quit SDL
SDL_Quit();
return 0;
}
不要使用“其他链接器选项”。使用“链接库”部分。添加以下项目
mingw32
SDLmain
SDL
您可以将-mwindows
放在“其他链接器选项”部分。不要使用“其他链接器选项”。使用“链接库”部分。添加以下项目
mingw32
SDLmain
SDL
您可以将
-mwindows
放在“其他链接器选项”部分。如果其他人遇到此问题,我会将-lmingw32放在-lSDLmain和-lSDL之后,这会导致我出现此问题。将-lmingw32放在第一位解决了这个问题。如果其他人遇到这个问题,我将-lmingw32放在-lSDLmain和-lSDL之后,这导致了这个问题。首先使用-lmingw32修复它。我在我的一个项目中遇到了相同的错误,我想在linux和windows上编译它。
我使用makefile来编译项目。
一个对我有效的解决方案,尽管我承认它有点像黑客,但它将这个添加到main.cpp(无论您的主要功能在哪里)
这使链接器找到WinMain并将其用作程序中的入口点。我也希望这个解决方案不会破坏linux的可编译性,希望它只是一个未使用的函数。我在我的一个项目中遇到了相同的错误,我想在linux和windows上编译。 我使用makefile来编译项目。 一个对我有效的解决方案,尽管我承认它有点像黑客,但它将这个添加到main.cpp(无论您的主要功能在哪里)
这使链接器找到WinMain并将其用作程序中的入口点。我还希望此解决方案不会破坏linux的可编译性,希望它只是一个未使用的函数。确保命名空间中没有
main
。并针对-lmingw32
尝试此链接:(您可能已经尝试过)我在code::blocks和“其他链接器选项”下找到了链接器设置,我放置了“-lmingw32-lSDLmain-lSDL-mwindows”,但我仍然得到了错误。您查看了这里吗?是的,但我正在使用GNU编译器和-mwindows标志。请确保命名空间中没有main
。并针对-lmingw32
尝试此链接:(您可能已经尝试过)我在code::blocks和“其他链接器选项”下找到了链接器设置,我放置了“-lmingw32-lSDLmain-lSDL-mwindows”,但我仍然得到了错误。您查看了这里吗?是的,但是我正在使用GNU编译器和-mwindows标志。