锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Qt 添加MSVC2017编译器(2022年保姆级教程,不安装完整VS)

时间:2023-08-26 03:37:02 qt32干湿球传感器

目录

  • 0. 前言
  • 1. 前期准备
  • 2. 安装
    • 2.1 安装Qt
    • 2.2 安装MSVC编译器和Windows 10 SDK
  • 3. 配置
    • 3.1 添加MSVC并选择编译器bat文件
    • 3.2 脚本文件参数的引入
  • 4. 测试
  • 5. 总结


0. 前言

只要是Qt基本都遇到过用户,安装MSVC编译器的问题。

这个问题似乎有一个非常方便的解决方案:安装相应的版本Visual Studio就好了

但大家都知道VS如果要使用的编译器对应的体积完整VS再安装一遍,即使想想也够可怕的。

踩了各种坑后,本文终于拿出了一个简单实用路来了。下面直奔主题~


1. 前期准备

要想在Qt中使用MSVC除了涉及编译器QtMSVC除了编译器,最好了解一下Qt KitsWindows 10 SDK

  1. Qt KitsQt Creator中,用来连接各种编译器minGWMSVC等)套件,类似于一个转接器;如果只有MSVC没有相应的套件,编译器也不能使用;

    可以在菜单–>工具–>选项–>Kits检查安装的套件。

  2. Windows 10 SDK这里可以理解为MSVC一些头文件、操作库等。编译器需要使用;

另外,Qt Creator版本最好更高,一方面,低版本可能不对应MSVC编译套件,另一方面,版本太低了添加MSVC编译器不够智能

后者来自作者的观察安装了完整VS时在被识别的编译器中,MSVC编译器的细节如下(图为MSVC2015):
在这里插入图片描述

Qt Creator查看编译器:菜单–>工具–>选项–>Kits(旧版本可能是在 构建和运行 中)–>编译器

它显然只是找个叫vcvarsall.bat的脚本文件,然后添加了编译器。

添加编译器的接口在高版本的Qt Creator如下图所示Qt Creator 5.0.2

在低版本中没有添加MSVC编译器的选项如下图所示Qt Creator 4.3.1

到此基本前期了解的内容就差不多了,以下是准备的工具清单:

  1. Qt 5.12.12:在此下载:USTC源下载Qt 5.12.12;

    不一定要这个版本,但最好的版本更高,必须添加MSVC编译接口!

  2. MSVC编译器和Windows 10 SDK2022版安装工具:可在此下载:Visual Studio 2022 生成工具;

    下载得到vs_BuildTools.exe,打开后自动安装Visual Studio Installer,在这个Installer中能够安装MSVC编译器和Windows 10 SDK

  3. EverythingWox:配置过程中需要定位vcvarsall.bat文件,这两个工具将大大提高效率,推荐墙体裂缝!下载地址:Github Wox下载;

2. 安装

2.1 安装Qt

双击刚下载Qt安装文件,基本操作不多说,在Select Components页面,用你想要的套件勾选即可:

从图中可以看出,Qt 5.12.12只支持到MSVC 2017

2.2 安装MSVC编译器和Windows 10 SDK

打开Visual Studio Installer,如果已经安装了以下页面,请单击以下页面修改(如果第一次打开,不需要这一步):

然后在工作负荷中勾选使用C 的桌面开发,它将帮助我们检查一些组件和一个Windows 10 SDK

这里可以取消前五个自动检查组件,选择下面的组件SDK。感兴趣的朋友可以自己检查每个组件的作用;

单个组件我在这里安装了我想安装的编译器。MSVC2015、MSVC2017、MSVC2019


3. 配置

3.1 添加MSVC编译器并选择bat文件

打开Qt Creator,在菜单栏依次选择:工具–>选项–>Kits–>编译器,有相当多的教程,安装完前面的内容之后,此处就能检测到自己安装的编译器了(太令人羡慕了)。但笔者从没成功过,只能找到安装了完整VS的编译器

在右侧选择添加–>MSVC–>C++


如果安装了WoxEverything,此刻可以Alt+space输入vcvarsall.bat,可以找到它所在的路径:

第一个是笔者电脑上安装了完整VS2015得到的bat文件;
默认文件位置供参考:C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat

此处笔者想添加MSVC201764位编译器,按照下图填写:

3.2 传入脚本文件参数

这里其实会有朋友发现一个问题:无论平台和ABI怎么选,对应的初始化文件都是同一个,选这俩就没有意义了!

这里就要注意到平台后面的输入框了,我们知道bat是批处理文件(如果不知道那就百度一下👻),是有传入参数的功能的,我们打开这个vcvarsall.bat,看看其中有没有什么提示,翻一翻就找到了示例:

也可以在微软官方文档查找到传参的格式。

这里可以指定Windwos 10 SDKMSVC编译器的版本,如果不清楚版本号,可以在Visual Studio Installer中查看,如下图:

笔者安装的SDK版本是10.0.20348MSVC2017版本是14.16,那按照bat文件传参的示例,此处需要的MSVC 2017 64bit的格式就是:

x64 10.0.20348.0 -vcvars_ver=14.16

填好后点击Apply,然后切换到Kits,将MSVC 2017套件选择好刚才的编译器,点击OK


4. 测试

新建一个界面工程:

选择刚才的Kits

Ctrl+R运行:

完结撒花~


5. 总结

  1. 要想在Qt中使用MSVC编译器,需要带有对应MSVC编译器版本套件(Kit)的Qt CreatorMSVC编译器、Windows 10 SDK
  2. 套件像一个转接头,将MSVC编译器集成到Qt Creator中;
  3. Qt Creator版本要足够高,否则要是没有对应MSVC编译器套件就麻烦了;
  4. Qt Creator的另一个关键功能为支持MSVC编译器的添加,这样才能通过vcvarsall.bat文件方便地添加MSVC编译器;
  5. 添加新的编译器后,选择vcvarsall.bat批处理文件,在后面填上平台、版本控制的参数,选择对应的ABI,编译器就配置完成了;
  6. 别忘了在对应版本的套件(Kit)中选择对应的编译器;
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章