Qt去掉VC++运行时库msvcp.dll msvcrt.dll vcruntime.dll

remove msvcp dll in qt plain c application.

run qt application without msvcp140.dll or vcruntime140.dll

主要是配置编译器的参数:


CONFIG(debug, debug|release): {
#    QMAKE_CFLAGS_DEBUG += -MTd
#    QMAKE_CXXFLAGS_DEBUG += -MTd
}else{
    QMAKE_CFLAGS_RELEASE += -MT
    QMAKE_CXXFLAGS_RELEASE += -MT
}


静态编译使用libc和msvc相关的静态库(lib)库中内容会直接编译到x.exe文件中,x.exe可独立运行      MT、MTd
动态编译使用相应的DLL版本编译只需要x.dll文件,便于更新升级(替换x.dll文件)      Md、MDd


各字母意思


字母解释

M     multi-threading

--T   text代码

--D  dynamic

d     debug

动态编译不方便发布

可以验证,当一个程序以/MD或/MDd发布时,该应用程序在别的电脑上可能无法运行。

提示错误:“应用程序配置不正确”

这是因为对方电脑上缺少VS的相关dll库。这时可以选择/MT或/MTd静态编译。


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共1条评论

jin:博主你好!我最近在接触串口类的东西,有些问题看了您的文章后还是有些迷惑,不知可以留个邮箱或者联系方式吗?不胜感激!

2023-03-16 14:42:30 回复

  • 3YL 回复 jin:网页底部有.........
  • 2023-03-18 10:19:13 回复
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com