如何编译Qt应用程序,以便不需要Microsoft的DLL?

lau*_*ent 2 dll qt static

我有一个静态编译的Qt应用程序,即以执行时不需要所有Qt DLL的方式.

但是,我的应用程序仍然需要Microsoft的DLL:特别是MSVCP100.DLL和MSVCR100.DLL.如何编译我的应用程序,以便不需要这两个DLL?我是否需要在.pro文件中的某处设置一些标志?我总体上对Qt静态编译有点失落,所以任何建议都会受到欢迎.

小智 6

问题是,使用Qt,在来自qmake变量的命令行选项之前添加了许多命令行选项.解决方案是删除这些变量.

这对我有用:

QMAKE_CFLAGS_RELEASE += /MT
QMAKE_CXXFLAGS_RELEASE += /MT
QMAKE_CFLAGS_RELEASE -= -MD
QMAKE_CXXFLAGS_RELEASE -= -MD
Run Code Online (Sandbox Code Playgroud)

要删除的选项必须完全匹配.例如/MD,-MD被视为不同的选择.