2016-08-12 2 views
3

main.cpp 파일에 int main(int argc, char **argv)이 있고 내 MainWindow.h 파일에는 기능적으로 창을 설정하는 코드가 있습니다 (코드를 게시하지 않았습니다). 관련 없음). 문제는 내가 성공적으로 설정 한 msvc 컴파일러를 사용하려고 할 때 발생합니다. 왜냐하면 MinGW 컴파일러를 사용할 때 올바르게 실행되고 창을 설정하기 때문입니다. 그러나 내 main.cpp 파일 - 나는 응용 프로그램을 실행할 때>주 기능이 Qt 생성자가 아닙니다.

#include <QCoreApplication> 
#include <iostream> 

#include "Engine/Window/MainWindow.h" 

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

    std::cout << "Starting application" << std::endl; 

    MainWindow w; 
    w.execute(); 

    return a.exec(); 
} 

난 그냥 어떤 도움이나 조언이 크게 감상 할 수 "Press <return> to close the window"를 참조 "Starting Application" 표시되지 않습니다.

편집 : Qt의 "자동 감지"기능을 사용하여 이러한 컴파일러를 찾았습니다.

또한 내 .pro 파일

QT += core 
QT -= gui widgets 

CONFIG += c++14 
CONFIG += windeployqt 

TARGET = BaneEngine_ 
CONFIG += console 
CONFIG += app_bundle 

INCLUDEPATH += $$PWD/ExtLibs/include 
DEPENDPATH += $$PWD/ExtLibs/include 
LIBS += -L$$PWD/ExtLibs/libs 
LIBS += -lSDL2main -lSDL2test -lSDL2 -lglew32 -lOpenGL32 

TEMPLATE = app 

SOURCES += main.cpp \ 
    Engine/Window/MainWindow.cpp 

HEADERS += \ 
    Engine/Window/MainWindow.h 
+2

는'w.execute()'무엇입니까? QApplication 대신'QCoreApplication'을 사용하는 이유는 무엇입니까? –

+0

Windows 응용 프로그램에서 콘솔 출력을 보려면 .pro 파일에 CONFIG + = console을 추가하십시오. 아마도 mingw 빌드가 자동으로이 작업을 수행합니다. – jonjonas68

+0

w.execute()는 sdl 창을 여는 함수입니다. 그리고 내 .pro 파일을 queston에 추가 할 것입니다. –

답변

0
#include <QApplication> 
#include <iostream> 

#include "Engine/Window/MainWindow.h" 

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

    std::cout << "Starting application" << std::endl; 

    MainWindow w; 
    w.show(); 

    return a.exec(); 
} 
+0

이것은 문제를 해결하지 못했고 MinGW 컴파일러를 사용하면 문제가 해결됩니다. –

관련 문제