diff options
-rw-r--r-- | mkspecs/common/msvc-version.conf | 6 | ||||
-rw-r--r-- | qmake/Makefile.win32 | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index 3fb55c9d81..5805383a04 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -110,6 +110,12 @@ greaterThan(QMAKE_MSC_VER, 1909) { QMAKE_CXXFLAGS_CXX14 = -std:c++14 QMAKE_CXXFLAGS_CXX1Z = -std:c++17 } + + # MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without + # this flag since the fix breaks binary compatibility. + greaterThan(QMAKE_MSC_VER, 1914) { + DEFINES += _ENABLE_EXTENDED_ALIGNED_STORAGE + } } greaterThan(QMAKE_MSC_VER, 1910) { diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32 index 3abcc1f21c..5292332187 100644 --- a/qmake/Makefile.win32 +++ b/qmake/Makefile.win32 @@ -39,7 +39,7 @@ CFLAGS_BARE = -c -Fo./ -Fdqmake.pdb \ -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS \ -DQT_VERSION_STR=\"$(QT_VERSION)\" -DQT_VERSION_MAJOR=$(QT_MAJOR_VERSION) -DQT_VERSION_MINOR=$(QT_MINOR_VERSION) -DQT_VERSION_PATCH=$(QT_PATCH_VERSION) \ -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL \ - -DQT_NO_FOREACH -DUNICODE + -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE CFLAGS = $(CFLAGS_PCH) $(CFLAGS_BARE) $(CFLAGS) CXXFLAGS_BARE = $(CFLAGS_BARE) |