c++ - SDL 忽略我的主文件

标签 c++ c mingw sdl eclipse-cdt

我正在使用 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/

相关文章:

c - 使用 printf 时的警告

c - 在 C 中打印环境

ffmpeg - gdb 不会停在即使是微不足道的断点

c++ - 使用 minGW 在 Windows 上编译 iPerf2.0.5

c - 添加指向字符的指针

c++ - caffe.cpp RegisterBrewFunction

c++ - 如何编译使用 std::chrono 和日期的 CUDA 代码?

c++ - ICMP 校验和错误

c++ get() 不设置eof

c++ - 如何在 .h 文件中正确定义 const int?