2013-12-20 227 views
0

我有一個基本程序來創建一個帶有SDL的窗口,並且它在編譯和運行程序時唯一給出的是一個命令行提示符,表示Press <RETURN> to close this window...我不確定是什麼造成了這一點。有人知道如何解決這個問題嗎?當我使用SDL運行C++程序時獲取命令行

這裏是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; 
} 

,在這裏如果需要

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 

和我所看到的圖片是的.pro

enter image description here

+0

我記得,SDL應用程序不是控制檯應用程序。 –

+0

@JoeZ當我創建項目時,我只是選擇了「Plain C++ Application」,我應該選擇其他的東西? – zachstarnes

+0

@JoeZ即使我添加一個'std :: cout <<「Blah blah」;'它甚至不會在命令行中顯示 – zachstarnes

回答

2

圍棋到項目設置,然後轉到「運行」選項卡,然後取消選中「在終端中運行」。

然後進入你的.pro文件並註釋掉「CONFIG + = console」。

然後轉到Project> Clean All。

然後重建並運行您的項目。

編輯:

這將使從而使stdoutstderror被重定向到Qt Creator中的「應用程序輸出」選項卡。

您的std::cout未顯示的原因可能是因爲它沒有被刷新。你必須結束一條線才能出去。

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

希望有所幫助。

+0

非常感謝你的幫助。我也意識到,sdl2.dll以某種方式從調試文件夾中被刪除,所以我將它添加回來,現在一切正常!再次感謝 – zachstarnes

相關問題