2016-08-12 4 views
3

В Qt Creator У меня есть файл main.cpp, который, конечно, содержит int main(int argc, char **argv), а в моем MainWindow.h файла у него есть код для установки окна, которое является функциональным (я не размещал код так, как он есть не имеет значения). Проблема возникает, когда я пытаюсь использовать компилятор msvc (который я успешно настроил), потому что, когда я использую компилятор MinGW, он работает правильно и настраивает окно. Однако в моем main.cpp файл ->Основная функция, не названная Qt Creator

#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(); 
} 

При запуске приложения я не вижу "Starting Application" я просто вижу "Press <return> to close the window" Любая помощь или советы будут с благодарностью.

Редактировать: Я также хотел бы отметить, что я просто использовал функцию автоматического обнаружения 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()'? Почему вы используете 'QCoreApplication' вместо' QApplication'? –

+0

Чтобы увидеть вывод консоли в приложении Windows, добавьте CONFIG + = console в ваш .pro-файл. Возможно, сборка mingw делает это автоматически. – jonjonas68

+0

Функция w.execute() - это функция, открывающая окно sdl. И я добавлю свой файл .pro к запросу –

ответ

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. –