diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri index 008cf159938adb1d3a68f0850e9664b28469c4e8..0e88652df41cfc8fcf14869218a13daf4d620c6c 100644 --- a/qgroundcontrol.pri +++ b/qgroundcontrol.pri @@ -385,7 +385,8 @@ win32-g++ { message(Building for Windows Platform (32bit)) # Special settings for debug - #CONFIG += CONSOLE + CONFIG += CONSOLE + OUTPUT += CONSOLE INCLUDEPATH += $$BASEDIR/lib/sdl/include \ $$BASEDIR/lib/opal/include #\ #\ diff --git a/src/Core.cc b/src/Core.cc index d5846985218c373f6b75a72cdc0730b284a81f47..38a37b93bb6ca8d4d9c2c3869b261d9f5aa062d5 100644 --- a/src/Core.cc +++ b/src/Core.cc @@ -65,8 +65,11 @@ This file is part of the QGROUNDCONTROL project * @param argv The string array of parameters **/ + Core::Core(int &argc, char* argv[]) : QApplication(argc, argv) { + + // Set application name this->setApplicationName(QGC_APPLICATION_NAME); this->setApplicationVersion(QGC_APPLICATION_VERSION); diff --git a/src/main.cc b/src/main.cc index a27a8d303027496e62beeebacdf9656dc420cce9..ba6d1af2df48400edd6b96cafd3f3ec17626ab62 100644 --- a/src/main.cc +++ b/src/main.cc @@ -39,6 +39,21 @@ This file is part of the QGROUNDCONTROL project #undef main #endif + +// Install a message handler so you do not need +// the MSFT debug tools installed to se +// qDebug(), qWarning(), qCritical and qAbort +#ifdef Q_OS_WIN +void msgHandler( QtMsgType type, const char* msg ) +{ + const char symbols[] = { 'I', 'E', '!', 'X' }; + QString output = QString("[%1] %2").arg( symbols[type] ).arg( msg ); + std::cerr << output.toStdString() << std::endl; + if( type == QtFatalMsg ) abort(); +} + +#endif + /** * @brief Starts the application * @@ -46,9 +61,15 @@ This file is part of the QGROUNDCONTROL project * @param argv Commandline arguments * @return exit code, 0 for normal exit and !=0 for error cases */ + int main(int argc, char *argv[]) { +// install the message handler +#ifdef Q_OS_WIN + qInstallMsgHandler( msgHandler ); +#endif + Core core(argc, argv); return core.exec(); }