使用SDL运行C ++程序时获取命令行

时间:2013-12-20 04:09:19

标签: c++ qt sdl

我有一个基本程序来创建一个带有SDL的窗口,当我编译和运行程序时它给我的唯一一件事就是命令行提示符Press <RETURN> to close this window...我不知道是什么导致了这个问题。有人知道如何解决这个问题吗?

这是main.cpp文件

#include <iostream>
#include <SDL2/SDL.h>

int main(int argc, char* argv[]) {

    SDL_Init(SDL_INIT_VIDEO);
    SDL_Window* window;

    window = SDL_CreateWindow(
                "Requiem",
                SDL_WINDOWPOS_UNDEFINED,
                SDL_WINDOWPOS_UNDEFINED,
                640,
                480,
                SDL_WINDOW_SHOWN|SDL_WINDOW_OPENGL
             );

    if(window == NULL) {
        std::cout << "Could not create window: " << SDL_GetError() <<  std::endl;
        return 1;
    }

    SDL_Delay(3000);

    SDL_DestroyWindow(window);

    SDL_Quit();
    return 0;
}

如果需要,这里是.pro

TEMPLATE = app
CONFIG += console
CONFIG -= qt

LIBS += -L C:/Users/Zach/Documents/dev/libs/SDL2-2.0.1/i686-w64-mingw32/lib -lmingw32 -lSDL2main -lSDL2
INCLUDEPATH += C:/Users/Zach/Documents/dev/libs/SDL2-2.0.1/i686-w64-mingw32/include

SOURCES += main.cpp

和我看到的图片

enter image description here

1 个答案:

答案 0 :(得分:2)

转到项目设置,然后转到“运行”选项卡,然后取消选中“在终端中运行”。

然后进入.pro文件并注释掉“CONFIG + = console”。

然后转到Project&gt;全部清洁。

然后重建并运行您的项目。

编辑:

这将使stdoutstderror重定向到Qt Creator中的“应用输出”标签。

你的std::cout没有出现的原因可能是因为它没有被冲走。你必须结束一条线才能出去。

std::cout << "Some text" << std::endl;

希望有所帮助。