From d269f34b5833abd1e4b9b922d01cd6129184132c Mon Sep 17 00:00:00 2001 From: Theuns Date: Sat, 7 Oct 2017 15:50:12 +1000 Subject: [PATCH] Fix build using mingw Changes many #if defined (Q_OS_WIN) to #ifdef _MSC_VER, where they relate specifically to msvc compiler --- src/app/mainwin.cpp | 6 ++++++ src/app/qgisapp.cpp | 2 +- src/app/qgscrashhandler.cpp | 2 +- src/app/qgscrashhandler.h | 2 +- src/core/qgsapplication.cpp | 4 ++-- src/core/qgsoptionalexpression.h | 4 +++- src/core/qgsproject.cpp | 6 +++--- src/core/qgsstacktrace.cpp | 4 ++-- src/core/qgsstacktrace.h | 2 +- 9 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/app/mainwin.cpp b/src/app/mainwin.cpp index f41ae8415644..af48693df552 100644 --- a/src/app/mainwin.cpp +++ b/src/app/mainwin.cpp @@ -105,7 +105,13 @@ int CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdL } } +#ifdef _MSC_VER HINSTANCE hGetProcIDDLL = LoadLibrary( "qgis_app.dll" ); +#else + // MinGW + HINSTANCE hGetProcIDDLL = LoadLibrary( "libqgis_app.dll" ); +#endif + if ( !hGetProcIDDLL ) { std::cerr << "Could not load the qgis_app.dll" << std::endl; diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 261405fb6bd0..3f470215cbf4 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -12090,7 +12090,7 @@ void QgisApp::keyPressEvent( QKeyEvent *e ) { stopRendering(); } -#if defined(Q_OS_WIN) && defined(QGISDEBUG) +#if defined(_MSC_VER) && defined(QGISDEBUG) else if ( e->key() == Qt::Key_Backslash && e->modifiers() & Qt::ControlModifier ) { QgsCrashHandler::handle( 0 ); diff --git a/src/app/qgscrashhandler.cpp b/src/app/qgscrashhandler.cpp index 8c3cad282137..2ebbc41a9e1c 100644 --- a/src/app/qgscrashhandler.cpp +++ b/src/app/qgscrashhandler.cpp @@ -23,7 +23,7 @@ #include "qgscrashreport.h" #include "qgsstacktrace.h" -#ifdef Q_OS_WIN +#ifdef _MSC_VER LONG WINAPI QgsCrashHandler::handle( struct _EXCEPTION_POINTERS *ExceptionInfo ) { QgsStackLines stack = QgsStackTrace::trace( ExceptionInfo ); diff --git a/src/app/qgscrashhandler.h b/src/app/qgscrashhandler.h index 49525b42d548..733e3db9ac2a 100644 --- a/src/app/qgscrashhandler.h +++ b/src/app/qgscrashhandler.h @@ -32,7 +32,7 @@ class APP_EXPORT QgsCrashHandler { public: -#ifdef Q_OS_WIN +#ifdef _MSC_VER static LONG WINAPI handle( struct _EXCEPTION_POINTERS *ExceptionInfo ); #endif diff --git a/src/core/qgsapplication.cpp b/src/core/qgsapplication.cpp index 50ab86f7f9b0..90167c148c21 100644 --- a/src/core/qgsapplication.cpp +++ b/src/core/qgsapplication.cpp @@ -732,7 +732,7 @@ QString QgsApplication::userLoginName() if ( !sUserName.isEmpty() ) return sUserName; -#ifdef Q_OS_WIN +#ifdef _MSC_VER TCHAR name [ UNLEN + 1 ]; DWORD size = UNLEN + 1; @@ -767,7 +767,7 @@ QString QgsApplication::userFullName() if ( !sUserFullName.isEmpty() ) return sUserFullName; -#ifdef Q_OS_WIN +#ifdef _MSC_VER TCHAR name [ UNLEN + 1 ]; DWORD size = UNLEN + 1; diff --git a/src/core/qgsoptionalexpression.h b/src/core/qgsoptionalexpression.h index f2a357738222..aec91acd65fd 100644 --- a/src/core/qgsoptionalexpression.h +++ b/src/core/qgsoptionalexpression.h @@ -77,9 +77,11 @@ class CORE_EXPORT QgsOptionalExpression : public QgsOptional }; -#if defined(Q_OS_WIN) +#if defined(_MSC_VER) +#ifndef SIP_RUN template CORE_EXPORT QgsOptional; #endif +#endif #endif // QGSOPTIONALEXPRESSION_H diff --git a/src/core/qgsproject.cpp b/src/core/qgsproject.cpp index 605949409178..7274188a2951 100644 --- a/src/core/qgsproject.cpp +++ b/src/core/qgsproject.cpp @@ -60,10 +60,10 @@ #include #include -#ifdef Q_OS_UNIX -#include -#elif _MSC_VER +#ifdef _MSC_VER #include +#else +#include #endif // canonical project instance diff --git a/src/core/qgsstacktrace.cpp b/src/core/qgsstacktrace.cpp index 91303ee27efe..b1c275444468 100644 --- a/src/core/qgsstacktrace.cpp +++ b/src/core/qgsstacktrace.cpp @@ -28,7 +28,7 @@ ///@cond PRIVATE -#ifdef Q_OS_WIN +#ifdef _MSC_VER QVector QgsStackTrace::trace( _EXCEPTION_POINTERS *ExceptionInfo ) { QgsStackLines stack; @@ -145,7 +145,7 @@ void QgsStackTrace::setSymbolPath( QString symbolPaths ) mSymbolPaths = symbolPaths; } -#endif // Q_OS_WIN +#endif // _MSC_VER #ifdef Q_OS_LINUX QVector QgsStackTrace::trace( unsigned int maxFrames ) diff --git a/src/core/qgsstacktrace.h b/src/core/qgsstacktrace.h index fde462a42ec3..0d6a4d581880 100644 --- a/src/core/qgsstacktrace.h +++ b/src/core/qgsstacktrace.h @@ -62,7 +62,7 @@ class CORE_EXPORT QgsStackTrace bool isValid() const; }; -#ifdef Q_OS_WIN +#ifdef _MSC_VER /** * Return a demangled stack backtrace of the caller function.