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

article/2025/10/21 1:14:32

目录

  • 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 SDK安装工具2022版:可在此处下载: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
在这里插入图片描述
在这里插入图片描述

此处可以取消前面5个自动勾选的组件,选择下方的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)中选择对应的编译器;

http://chatgpt.dhexx.cn/article/ZdfPjr7V.shtml

相关文章

如何用MSVC命令行编译 SQLite ?

作者:cuicui 这个问题的关键是如何配置MSVC 工具:VS2017 要编译的sqlite3源代码从https://www.sqlite.org/download.html下载 官方说明中的方法是 cl shell.c sqlite3.c -Fesqlite3.exe如果没有配置MSVC是无法编译的。经过自己实验,用下面…

在windows下使用MSVC编译ffmpeg

FFmpeg 在windows上面用msvc编译 首先你得准备好msys2环境,安装好对应的工具链,msys2他本身提供了三个环境,但是这次我们是用msvc去编译用哪个环境都无所谓,但是你在哪个环境装的工具链就进入到哪个环境,msys2是环境隔…

Qt Creator配置MSVC编译器

Qt Creator配置MSVC编译器 配置: WINDOWS 7系统4.9.0 Qt CreatorMSVC 2017VS 2017 步骤: VS官网下载Visual Studio Community 2017,在线安装Visual Studio Community2017版本。下载并安装Windows10 SDK, 直接下载.exe版本,然后…

MSVC命令行环境配置

MSVC是微软Windows平台Visual Studio自带的C/C编译器,但是这个IDE比较庞大,有时候我们写一个小程序没有必要去启动IDE,所以可以配置一下MSVC编译器,这样我们就可以通过命令行的方式或者其他一些轻量的工具接入MSVC编译器。 笔者演…

QtCreator配置MSVC

文章目录 1.配置编译器Compiler2.配置调试器(Debugger)3.配置构建套件(Kit) 配置Qt kits需要配置编译器和调试器 1.配置编译器Compiler 配置MSVC需要先下载vs,通过vs安装编译器 具体资料地址 https://www.zhihu.com/question/358058090/answer/1188440282 2.配置调试器(Deb…

Qt离线安装MSVC方法

安装好Qt后,有时候需要用到MSVC编译环境,如果电脑连接了互联网,直接下载安装器在线安装即可,那么需要为没有联网的电脑安装MSVC时,就需要采用下载离线安装包,离线安装的方法,MSVC安装器下载地址…

qt配置msvc

因为mingw是自带的,所以说不用配置直接勾选。但是mingw有一个不足就是有些库用mingw不方便比如opencv。而且web功能,mingw并不支持,今天谈怎么配置msvc。 1.下载vs:重点相关的c和sdk下载 2.下载qt5.14.2之后要自己编译,使用中科…

Qt MSVC开发

环境搭建 安装Virsual Studio,版本可以选择最新版本,我安装的时vs2022,安装时需要勾选 C 桌面开发 安装QT, 下载地址:https://download.qt.io/official_releases/online_installers/,安装时需要选择MSVC 2019 64-bit。…

MSVC编译器介绍

MSVC简介: 与Linux系列操作系统不同,Windows原生环境不提供类似gcc,Clang的C/C语言源程序编译运行工具链。运行在Windows上的IDE(集成开发环境),比如CodeBlocks之类,一般都使用MinGW&#xff0…

PAC的编码

PAC的编码 今晚的沙龙讲到了PAC,在此搬运一下比较简单易懂的部分。 PAC的编码是基于类似于两个D触发器的思路,也就是和时序有关。 PAC编码的思路导图,如下所示:

windows 开启pac,完成规则代理

特别鸣谢 10分钟搭建linux代理服务器_三雷科技的博客-CSDN博客 Windows7/10/11 Pac代理脚本及配置_pac脚本_ylf尘风的博客-CSDN博客 1. 代理服务器搭建 yum install tinyproxy代理服务器,配置 编辑配置/etc/tinyproxy/tinyproxy.conf: (1&…

解析PAK文件

工具好不好主要看用的人 ----Mantra 众所周知,UE4打包之后生成的资源文件被压缩成.pak格式,那么如何找到合适的工具提取其中的资源呢?(既然UE4是开源的,那么UE4的打包工具也应该是开源的,所以大佬们逆流而…

代理自动配置文件PAC的使用方法

注意: 1、微软从Internet Explorer(IE)11版本开始,已经弃用本地PAC文件的方式(也就是我们说的“file://”方式)配置自动代理了,只能通过http或者https方式加载代理自动配置的PAC文件 2、 Chrome…

pacp格式文件分析

1 介绍 1.1. 五元组 网络通信过程中会发送大量的请求,每一个请求都需要通过IP数据包进行交互,但是IP数据包的头部信息过于复杂,如果通过IP数据包头进行数据包之间的区分就太复杂了,所以就产生了元组。 五元组是元组中的一种&am…

【pac文件】win10自动配置代理

目的 手动代理:所有地址经过代理,指定ip不经过代理 现在需求:实现指定ip范围才使用该代理 可以通过“自动设置代理”的方式实现 准备 已有代理地址,如:192.168.18.101:808有python环境 自动代理配置 编写sxProxy.…

实战PyQt5: 120-像素图QPixmap和QBitmap

Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和QPicture。QImage是为I/O设计的,并且针对直接的像素访问和操作做了优化,QPixmap是为在屏幕上显示图像而设计和优化的。QBitmap为继承自QPixmap的便利类。如…

Qt实战案例(54)——利用QPixmap设计图片透明度

目录 一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件 五、效果演示 一、项目介绍 本文介绍利用QPixmap设计图片透明度,可以看到拖动下方进度条,用于控制上方图片的透明度。 二、项目基本配置 新建…

利用QPixmap显示图片

我们来实现在窗口上显示图片,并将图片进行平移,缩放,旋转和扭曲。这里我是利用QPixmap类来实现图片显示的。 一、利用QPixmap显示图片。 1.将以前的工程文件夹进行复制备份,我们这里将工程文件夹改名为painter05。(经…

PyQt5基本控件详解之QPixmap(十九)

QPixmap 前言 QPixmap类用于绘图设备的图像显示,它可以作为一个QPainterDevice对象,也可以加载到一个控件中,通常是标签或者按钮,用于在标签或按钮上显示图像 QPixmap可以读取的图像文件类型有BMP,GIF,JP…

[PyQt5]基本控件9 - 图片显示QPixmap

文章目录 PyQt5系列文章效果图完整代码 PyQt5系列文章 基本控件---1.按钮QPushButton2.标签QLabel3.可编辑框QTextEdit4.文本提示QToolTip5.单行输入框QLineEdit6.消息框QMessageBox7.单选按钮QRadioButton8.下拉列表QComboBox9.图片显示QPixmap10.分组框QGroupBox11.进度条QP…