From cd1dff75561aa132f8dccd0a3c79b80962f3d161 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 2 Oct 2014 15:11:18 +0200 Subject: [PATCH] pass windows/console linker flags to DLLs and executables Pass QMAKE_LFLAGS_WINDOWS and QMAKE_LFLAGS_CONSOLE to QMAKE_FLAGS regardless of the project template. The /SUBSYSTEM linker switch is not exclusively meant for executables but can also be applied when linking dynamic libraries. This is needed when building DLLs for Windows XP with VS >= 2012. Task-number: QTBUG-41504 Change-Id: I5966cba1b6756e15275fa5d7fdbc42b99c95c07b Reviewed-by: Oswald Buddenhagen --- mkspecs/features/win32/console.prf | 5 ++--- mkspecs/features/win32/windows.prf | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf index 568d1b1eb5..e04367e20b 100644 --- a/mkspecs/features/win32/console.prf +++ b/mkspecs/features/win32/console.prf @@ -1,6 +1,5 @@ CONFIG -= windows +QMAKE_LFLAGS += $$replace(QMAKE_LFLAGS_CONSOLE, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) contains(TEMPLATE, ".*app") { - QMAKE_LFLAGS += \ - $$replace(QMAKE_LFLAGS_CONSOLE, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ - $$QMAKE_LFLAGS_EXE + QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXE } diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index f19a42b7e2..6ea9756f9a 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -1,8 +1,7 @@ CONFIG -= console -contains(TEMPLATE, ".*app"){ - QMAKE_LFLAGS += \ - $$replace(QMAKE_LFLAGS_WINDOWS, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ - $$QMAKE_LFLAGS_EXE +QMAKE_LFLAGS += $$replace(QMAKE_LFLAGS_WINDOWS, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) +contains(TEMPLATE, ".*app") { + QMAKE_LFLAGS += $$QMAKE_LFLAGS_EXE mingw:DEFINES += QT_NEEDS_QMAIN qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) {