• 解决windeployqt打包exe的“VCINSTALLDIR is not set“问题


        今天在使用windeployqt部署qt的.exe文件时, 出现如下错误:

    windeployqt HelloQt.exe
    
    • 1
    图(1) 报"VCINSTALLDIR路径"找不到

        出现这种情况的原因是:VCINSTALLDIR环境没有配置,需要把Visual Studio的编译路径:

    ## 1) 社区版VS的编译路径
    C:\Program Files (x86)\Microsoft Visual Studio\2005\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2008\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2010\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2013\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2015\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC;
    C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC;
    
    ## 2) 专业版VS的编译路径
    C:\Program Files (x86)\Microsoft Visual Studio 8.0\VC
    C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
    C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

        都加到这个VCINSTALLDIR变量里。若一台电脑里安装了多个VS,比如安装VS2013、VS2015、VS2017、VS2019等,则用英文的;分号,把这些路径连在一起,如下:

    VCINSTALLDIR = C:\Program Files (x86)\Microsoft Visual Studio\2013\Community\VC;C:\Program Files (x86)\Microsoft Visual Studio\2015\Community\VC;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC;
    
    • 1

        这里以VS2019 Community版本(即VS2019社区版)为例,进行说明。

    1 设置VCINSTALLDIR环境

        右击【我的电脑】–》属性 --》高级环境变量 --》用户变量 --》【新建】–》
        变量名:VCINSTALLDIR
        变量值:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC

    VCINSTALLDIR = C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC
    
    • 1
    图(2) 添加VCINSTALLDIR环境

    2 重启电脑

        设置环境变量后,都需要重启电脑,才生效。
        按Win+F4, 选择"重启"下拉框,即可重启电脑。

    3 附录

    windeployqt的4种版本

        Qt的安装目录包含windeploy.exe打包工具,它根据编译器种类:mingw、msvc,和系统位数: 32位、64位,具体细分为4种:mingw_32,mingw_64、msvc_32、msvc_64,如下:

    ## 1) mingw 32(即 g++ 32)
    D:\Qt\Qt5.14.2\5.14.2\mingw73\bin
    
    ## 2) mingw 64(即 g++ 64)
    D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin
    
    
    ## 3) msvc 32位版本(即VS c++ 32)
    D:\Qt\Qt5.14.2\5.14.2\msvc2017\bin
    
    ## 4) msvc 64位版本(即VS c++ 64)
    D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    图(3) 64位的windeployqt.exe

    若开发工具使用的是Visual studio+ qt-addin-msvc + qt-opensouce,则使用msvc版本:

    • 比如 VS2013 + qt-vsaddin-msvc2013-2.2.0.vsix + qt-opensource-windows-x86-5.14.2.exe
    • 比如 VS2019 + qt-vsaddin-msvc2019-2.7.1.vsix + qt-opensource-windows-x86-5.4.1.exe


    若开发工具使用的是纯qt-opensouce,则使用mingw版本:

    • 比如 qt-creator-win-opensource-2.3.0.exe
    • 比如 qt-creator-win-opensource-4.1.0.exe
    图(4) 根据编译器类型,来选择对应的windeployqt.exe

    4 参考文献

    【1】 windeployqt打包mingw版本的exe
    【2】 windeployqt详细打包与裁剪

  • 相关阅读:
    小胶质细胞仅仅是神经系统内的“配角”?
    AX6000路由器更改算号器密码为自定义密码的方法
    matplotlib基础加进阶
    matlab 求数字积分
    obb包围盒数组的含义
    day01
    GBASE 8s 高可用RSS集群搭建
    相交链表+判断环型链表+求环型链表的入口节点
    SPDK/NVMe存储技术分析之SSD设备的发现(二)
    Docker网络管理
  • 原文地址:https://blog.csdn.net/sanqima/article/details/134451980