Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.14.0
-
None
Description
Just build Qt with MT option for MSVC i.e. (not sure that it's important):
// --- qtbase/mkspecs/common/msvc-desktop.conf 2019-01-28 16:11:52.000000000 +0200 +++ qtbase/mkspecs/common/msvc-desktop.conf 2019-12-17 11:59:22.870978600 +0200 @@ -30,23 +30,23 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1 QMAKE_CC = cl QMAKE_LEX = flex QMAKE_LEXFLAGS = QMAKE_YACC = bison -y QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = -nologo -Zc:wchar_t QMAKE_CFLAGS_WARN_ON = -W3 QMAKE_CFLAGS_WARN_OFF = -W0 -QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD -QMAKE_CFLAGS_DEBUG = -Zi -MDd +QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT +QMAKE_CFLAGS_DEBUG = -Zi -MTd QMAKE_CFLAGS_YACC = QMAKE_CFLAGS_LTCG = -GL contains(QMAKE_TARGET.arch, x86_64) { # SSE2 is mandatory on 64-bit mode, so skip the option. It triggers: # cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2' QMAKE_CFLAGS_SSE2 = } else { QMAKE_CFLAGS_SSE2 = -arch:SSE2 }
Then:
{ QSettings settings_app("TEST", "TEST"); settings_app.setValue("ABC", "string"); } { QSettings settings_app("TEST", "TEST"); std::string s = settings_app.value("ABC", "def string").toString().toStdString(); <<-- Access Violation }