logo头像

技术引领生活!

VS2019无法设置Qt版本解决方案

本文于865天之前发表,文中内容可能已经过时。

妈的,网上一大堆都是废话,尤其是CSDN, FUCK

问题表现:

在VS2019下打开Qt插件扩展添加qt版本有问题(添加不上),或者设置完成后无效

  • 网上搜的解决方案如下:

  • 降版本*(根本你妹的不管用啊)

  • 根本原因:
    VS2019的编译器版本和Qt提供的编译器不兼容,VS2019快捷方式默认只运行vcvarsall.bat需要指定编译器参数

一把梭

新建一个bat文件 如 vscodeQt.bat 就放到Qt安装目录下得了,然后创建一个快捷方式

1
C:\WINDOWS\System32\cmd.exe /A /Q /K C:\QtOS\5.15.2\msvc2019\bin\vscodeQt.bat

内容如下

1
2
3
4
5
6
7
8
@echo off
echo Setting up environment for Qt usage...
set PATH=C:\QtOS\5.15.2\msvc2019\bin;%PATH%
cd /D C:\QtOS\5.15.2\msvc2019
echo Remember to call vcvarsall.bat to complete environment setup!

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe"

可能遇到的问题?

  1. 工具链错误
    工具链错误
    工具链错误解决

  2. 架构错误
    架构错误
    架构错误解决

  3. Qt版本错误
    Qt版本错误
    Qt版本错误解决
    Qt模块错误解决

  4. DLL依赖错误
    DLL依赖错误
    解决:
    其他的Qt版本不要设置为PATH变量中,否则可能造成干扰

下面都是废话

解决方案

  1. 先卸载已安装的Qt插件. 打开命令行

  2. 运行Qt 安装目录下的qtenv2.bat(C:\Qt\5.15.2\msvc2019\bin\qtenv2.bat)

  3. 运行 vcvarsall.bat 注意带参数 (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat)
    参数为 Qt安装版本(如我只安装的Qt5.15.2的 MSVC 32位版本)

    1
    2
    C:\Qt\5.15.2\msvc2019\bin\qtenv2.bat
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat x86_amd64
  4. 在环境变量中找到QtMsBuild路径 典型的为C:\Users\用户名\AppData\Local\QtMsBuild 删除该目录(同时删除环境变量值)

  5. 在注册表中删除Digia

    • uninstall QtAddin
    • search and delete all “qt” files (e.g. “C:\Users*****\AppData\Local\QtMsBuild”)
      remove QtAddin related environment variables (e.g. QTDIR, QtMsBuild, …)
    • search registry, remove Digia and QtAddin related keys
    • install QtAddin
  6. 删除已有Qt工程目录下的.qmake.stash 以及和VS2019 相关的文件如 *.vcxproj

  7. 利用QtAddin打开pro工程(打完收招)

其实最简单的应该是安装Qt版本的时候64位和32位一起安装(我为了省磁盘空间只安装了32位的Qt Msvc2019版本)

参考链接

Cannot add a Qt Version in QT options

支付宝打赏 微信打赏

您的支持是我前行的动力!