C++ 如何更改C++;QtCreator中的运行库设置?

C++ 如何更改C++;QtCreator中的运行库设置?,c++,qt,C++,Qt,我对Qt绝对是新手。我在Visual Studio 2010中使用C++编写了一个程序,其中我使用Dcmtk的外部库。我现在想给这个程序添加一个用户界面。在我的原程序中,我必须将VisualStudio中的代码生成设置中的C++ 运行时库< /C> >从多线程调试DLL>代码> >代码>多线程(/MT),否则程序将无法工作。我必须在QtCreator中执行同样的操作,但我不知道如何在Qt中更改该设置。你能建议一下我该怎么做吗?谢谢。/MT是编译器标志。您可以在.pro文件中指定如下标志: QMA

我对Qt绝对是新手。我在Visual Studio 2010中使用C++编写了一个程序,其中我使用Dcmtk的外部库。我现在想给这个程序添加一个用户界面。在我的原程序中,我必须将VisualStudio中的代码生成设置中的C++ <代码>运行时库< /C> >从<代码>多线程调试DLL>代码> >代码>多线程(/MT)<代码>,否则程序将无法工作。我必须在QtCreator中执行同样的操作,但我不知道如何在Qt中更改该设置。你能建议一下我该怎么做吗?谢谢。

/MT
是编译器标志。您可以在.pro文件中指定如下标志:

QMAKE\u cxflags+=/MT

此外,您可能希望为调试生成指定
/MTd

Release:QMAKE_CXXFLAGS += /MT
Debug:QMAKE_CXXFLAGS += /MTd

qmake配置也可用于此

CONFIG += thread

在QT 5.5版本中,变量为QMAKE_cxflags_DEBUG和QMAKE_cxflags_RELEASE,因此QT 5.5的新工作解决方案为:

QMAKE_CXXFLAGS_DEBUG += /MTd
QMAKE_CXXFLAGS_RELEASE += /MT

由于
Qt 5
,在
qmake
构建脚本
*.pro
文件中添加了如下配置:

CONFIG += static_runtime
将导致
qmake
包含
mkspecs/features/static_runtime.prf
文件,该文件应包含所需的配置,如下所示:

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
}
但作为预先警告,请注意这可能会导致一些链接错误,这会导致如下语句
MSVCRT.lib(MSVCRxxx.dll):错误LNK2005:xxx已在LIBCMTD.lib(xxx.obj)
中定义”,基本上是因为您正在使用的其他库与动态CRT库链接(即,它们不是使用
/MT
/MTd
标志生成的,您需要使用适当的标志重新生成它们),有关详细信息,请参见此。

是的,您是对的,对于调试构建,我必须指定
/MTd
。我非常抱歉。答案已经在那里了:D.我的错,我完全错过了。非常感谢:)。