From 10a0ac759e26e27751ae96d02eb1e260ab371194 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 2 Apr 2014 16:56:15 +0200 Subject: Windows XP target support for MSVC >= 2012 To enable windows xp support, we must do two things: 1. linker flag must be /SUBSYSTEM:CONSOLE,5.01 or /SUBSYSTEM:WINDOWS,5.01. For x64, the version is 5.02. 2. Do not use Windows Kit 8. Win SDK v7.1A is recommended. Prepend the right include paths and lib paths to INCLUDE and LIB before building. The Windows XP target support is enabled by passing "-target xp" to configure. Task-number: QTBUG-29939 Change-Id: I84c8439606cc2a9d27d64947702846faa4f1e4a2 Reviewed-by: Lucas Wang Reviewed-by: Oswald Buddenhagen --- mkspecs/features/win32/console.prf | 4 +++- mkspecs/features/win32/qt_config.prf | 10 ++++++++++ mkspecs/features/win32/windows.prf | 4 +++- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 mkspecs/features/win32/qt_config.prf (limited to 'mkspecs/features/win32') diff --git a/mkspecs/features/win32/console.prf b/mkspecs/features/win32/console.prf index 8a1725d648..568d1b1eb5 100644 --- a/mkspecs/features/win32/console.prf +++ b/mkspecs/features/win32/console.prf @@ -1,4 +1,6 @@ CONFIG -= windows contains(TEMPLATE, ".*app") { - QMAKE_LFLAGS += $$QMAKE_LFLAGS_CONSOLE $$QMAKE_LFLAGS_EXE + QMAKE_LFLAGS += \ + $$replace(QMAKE_LFLAGS_CONSOLE, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ + $$QMAKE_LFLAGS_EXE } diff --git a/mkspecs/features/win32/qt_config.prf b/mkspecs/features/win32/qt_config.prf new file mode 100644 index 0000000000..49b4c79431 --- /dev/null +++ b/mkspecs/features/win32/qt_config.prf @@ -0,0 +1,10 @@ +load(qt_config) + +equals(QMAKE_TARGET_OS, xp) { + # http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx?PageIndex=3 + equals(QT_ARCH, x86_64) { + QMAKE_SUBSYSTEM_SUFFIX = ,5.02 + } else { + QMAKE_SUBSYSTEM_SUFFIX = ,5.01 + } +} diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf index 82e0ebe1b5..6d8289d949 100644 --- a/mkspecs/features/win32/windows.prf +++ b/mkspecs/features/win32/windows.prf @@ -1,6 +1,8 @@ CONFIG -= console contains(TEMPLATE, ".*app"){ - QMAKE_LFLAGS += $$QMAKE_LFLAGS_WINDOWS $$QMAKE_LFLAGS_EXE + QMAKE_LFLAGS += \ + $$replace(QMAKE_LFLAGS_WINDOWS, @QMAKE_SUBSYSTEM_SUFFIX@, $$QMAKE_SUBSYSTEM_SUFFIX) \ + $$QMAKE_LFLAGS_EXE mingw:DEFINES += QT_NEEDS_QMAIN qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { -- cgit v1.2.3