C++ 使用Visual Studio 2015构建静态Qt项目

C++ 使用Visual Studio 2015构建静态Qt项目,c++,qt,static,visual-studio-2015,C++,Qt,Static,Visual Studio 2015,我根据VisualStudio版本(Community 2015)进行了必要的更改,以获得静态Qt构建 我根据安装配置了QT5Package插件,并编辑了库/包含路径,但仍然无法构建我的项目 这是输出 Qt5Cored.lib(qglobal.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in

我根据VisualStudio版本(Community 2015)进行了必要的更改,以获得静态Qt构建

我根据安装配置了QT5Package插件,并编辑了库/包含路径,但仍然无法构建我的项目

这是输出

Qt5Cored.lib(qglobal.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in moc_helloqt.obj
<...>
link warning lnk4098 defaultlib 'libcmtd' conflicts with use of other libs
moc_helloqt.obj : error LNK2001: extern symbol not found "public: static struct QMetaObject const QMainWindow::staticMetaObject" (?staticMetaObject@QMainWindow@@2UQMetaObject@@B)
<...>
qt5corder.lib(qglobal.obj):错误LNK2038:检测到“RuntimeLibrary”不匹配:值“MTd\u StaticDebug”与moc\u helloqt.obj中的值“MDd\u DynamicDebug”不匹配
链接警告lnk4098 defaultlib“libcmtd”与使用其他lib冲突
moc_helloqt.obj:错误LNK2001:未找到外部符号“public:static struct QMetaObject const QMainWindow::staticMetaObject”(?staticMetaObject@QMainWindow@@2UQMetaObject@@B)

通过更改运行时(MDd->MTd)并在项目中包含以下LIB来解决问题:

opengl32.lib
Qt5PlatformSupportd.lib
qwindowsd.lib
qtharfbuzzngd.lib
qtpcred.lib
qtfreetyped.lib
这些是调试生成的lib,发布生成的lib是:

opengl32.lib
Qt5PlatformSupport.lib
qwindows.lib
qtharfbuzzng.lib
qtpcre.lib
qtfreetype.lib

将应用程序的运行时更改为使用MTd而不是MDd。谢谢,这部分解决了问题。仍然找不到外部符号,可能缺少一些LIB