I'm absolutely new to Qt. I've made a program using C++ in Visual Studio 2010 in which I use the external library from Dcmtk. I now want to add a user interface to that program. In my original program I had to change the C++ Runtime Library
in Code Generation setting in Visual Studio to Multi-Threaded(/MT)
from Multi-Threaded Debug DLL
otherwise the program would not work. I have to do the same in QtCreator, but I don't know how to change that setting in Qt. Could you please suggest how I should approach that? Thanks.

- 2,936
- 6
- 39
- 68
4 Answers
/MT
is a compiler flag. You can specify flags in your .pro file like this:
QMAKE_CXXFLAGS += /MT
Moreover, you probably want to specify /MTd
for debug build:
Release:QMAKE_CXXFLAGS += /MT
Debug:QMAKE_CXXFLAGS += /MTd

- 32,368
- 48
- 194
- 335
-
Yes, you are right, for Debug build, I have to specify `/MTd`. – the_naive May 22 '13 at 09:44
-
I'm extremely sorry. The answer was already there :D. My bad, I totally missed it. Thanks a lot :). – the_naive May 22 '13 at 09:48
In the version of QT 5.5 the variable is QMAKE_CXXFLAGS_DEBUG and QMAKE_CXXFLAGS_RELEASE so the new working solution for QT 5.5 is:
QMAKE_CXXFLAGS_DEBUG += /MTd
QMAKE_CXXFLAGS_RELEASE += /MT

- 326
- 2
- 13
since Qt 5
, adding to your qmake
build script *.pro
file, a configuration like:
CONFIG += static_runtime
will cause qmake
to include the mkspecs/features/static_runtime.prf
file, which should contain the required configurations, something like below:
msvc {
# -MD becomes -MT, -MDd becomes -MTd
QMAKE_CFLAGS ~= s,^-MD(d?)$, -MT\1,g
QMAKE_CXXFLAGS ~= s,^-MD(d?)$, -MT\1,g
} else: mingw {
QMAKE_LFLAGS += -static
}
but as advance warning, note that this may cause some link errors, which make an statement like
"MSVCRT.lib(MSVCRxxx.dll) : error LNK2005: xxx already defined in LIBCMTD.lib(xxx.obj)
", basically because other libraries that you are using are linked with the dynamic CRT library (i.e. they are NOT build with /MT
or /MTd
flag, and you would need to rebuild them with the appropriate flag), for more see this question.

- 7,611
- 5
- 39
- 71