我正在使用 MinGW 和 SDL 运行 Eclipse CDT 64 位。我已经读过 SDL“巧妙地”重新定义了 main 方法,并且有时添加 #undef main 以使用我自己的 main cpp 是精确的。我已经完成了,但是当我尝试运行我的应用程序时,我的 main 被完全忽略了(为了实现这一点,我放置了一些断点)。
我的主要方法是这样的:
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#undef main
using namespace std;
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_EVERYTHING) == -1) {
printf("Error: %s\n", SDL_GetError());
return 1;
}
SDL_WM_SetCaption( "MarioKong", NULL );
我在我的项目属性上定义了 MinGW C++ 链接器库,如下所示:mingw32、SDLMain、SDL、SDL_image。我遵循了 ( lazyfoo) 中所述的 SDL 安装说明
如何运行我的主文件?
最佳答案
重新定义 main 的巧妙方法是在所有平台上都具有相同的 main 函数,并且可以在任何地方使用相同的函数。所以没有 #ifdef win32 WinMain else main 等。您可以在所有平台上同样使用命令行参数。所以我的建议是坚持使用“int main(int argc, char* argv[])”,不要使用#undef main 命令
关于c++ - SDL 忽略我的主文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12570440/