当前位置: 首页 > news >正文

VSCode+MSVC+Qmake环境搭建笔记

文章目录

  • 一 前言
  • 二 环境搭建
    • 2.1 设置环境变量
      • 2.1.1 Qmake
      • 2.1.2 MSVC
      • 2.1.2 QT环境变量
    • 2.2 VSCode C++环境配置
  • 三 配置tasks.json
    • 3.1 任务配置
  • 四 运行
    • 4.1 任务选择

一 前言

最近的工作内容是开发QT的插件,公司的插件框架都是基于vs2017+MSVC+Qmake搭建的,由于QT的官方IDE太难用了,自己又比较习惯使用VSCode了,所以打算通过VSCode来进行开发。在网上搜索了不少文章来看,大部分都是使用Cmake或者MinGW来进行配置的,竟然没有一篇讲这三个组合的详细配置文章,真是醉了。经过一番摸索,终于配置成功了,记录一下配置过程,方便以后查阅。

二 环境搭建

2.1 设置环境变量

2.1.1 Qmake

设置好Qmake的环境变量,目录参考如下:

D:\QT5.14.2\5.14.2\msvc2017_64\bin

配置好后可以在终端中使用qmake --version来查看是否配置成功。

2.1.2 MSVC

构建时会调用MSVC来进行编译,由于后续的构建都是在终端环境下运行的,需要我们提前设置好MSVC的环境变量,目录参考如下:

D:\VS2017\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

注意这里QT的版本和MSVC的版本要对应,x86就都是x86,x64就都是x64。
我是先在QT Creator中跑通可以构建项目之后再来做Vscode的配置的,所以配置的版本是和QT里用的一样的。这里怎么查看应该使用那个版本呢?
打开工具-选项界面,如下图所示,一般使用的就是这个默认的套件版本。像我这里使用的就是64位的MSVC2017。
在这里插入图片描述

切换到编译器可以看到当前使用的编译器的本地地址。
在这里插入图片描述

2.1.2 QT环境变量

目录参考如下:

D:\QT5.14.2\Tools\QtCreator\bin

配置好所有的环境变量之后,一定要完全关闭VSCode再重新打开刷新一下环境变量,要不然会找不到cl.exe,恶心我一个多小时。

2.2 VSCode C++环境配置

在VSCode里面安装好C++插件后,Ctrl+Shift+P打开命令面板,输入C/C++: Edit Configurations (UI)打开配置界面:
在这里插入图片描述

配置名称可以新建一个,根据不同的项目使用不同的配置,下面配置的这些都是服务于编译器的,和项目构建无关,着急可以忽略。编译器路径和我们前面设置的MSVC路径一致,我这里不一样也无所谓,主要是为了让vscode不飘红。
在这里插入图片描述

下面这两个配置第一个根据自己用的机器选择,我这里用的是amd的cpu,所以选择amd64,第二个配置是为了让IDE识别QT的头文件路径,避免飘红。
在这里插入图片描述

vscode中的C++配置好后,我这个项目切换为GB2312编码格式,就不会飘红了,头文件一路点到最底层的QT库文件下,可以看见与配置的目录时一致的。

三 配置tasks.json

3.1 任务配置

我自己个人的开发需求是有一个A目录,里面存放各种库文件和头文件,A目录下有各种模块文件夹,我在开发的时候工作目录在A目录下,开发各种模块的时候就比较好切换参考。还有tasks.json是一个项目一个,以A目录建立项目就不用每次做新插件都要重新粘贴一下tasks.json的内容了。

下面我写的这个就是我个人的配置,大家可以根据自己的需求进行修改,我这里是先获取去编译哪一个插件,关于插件项目名的地方是一个变量,有默认值,也可以命令行输入。

新建一个在插件文件夹下的build目录,在build目录下运行qmake生成Makefile,最后调用jom进行编译,jom是QT的一个用来加速编译的库,下面调用的还是MSVC。

在调用MSVC之前要在命令行下设置一些变量,需要运行一下vcvarsall.bat脚本,脚本路径根据自己安装的VS版本进行修改。

{"version": "2.0.0","inputs": [{"id": "projectName","description": "Enter the project folder name","default": "RollCallSelfCheck","type": "promptString"}],"tasks": [{"label": "mkdir","type": "shell","command": "powershell.exe","args": ["-Command","New-Item -ItemType Directory -Force '${workspaceFolder}/${input:projectName}/build'"]},{"label": "QmakeProject","type": "shell","command": "qmake.exe","args": ["../${input:projectName}.pro","-spec","win32-msvc","CONFIG+=debug","CONFIG+=qml_debug"],"options": {"cwd": "${workspaceFolder}/${input:projectName}/build"},"dependsOn": ["mkdir"],"group": "build"},{"label": "MakeProject","type": "shell","command": "cmd.exe","args": ["/c","call \"D:\\VS2017\\VC\\Auxiliary\\Build\\vcvarsall.bat\" x64 && cd /d \"${workspaceFolder}\\${input:projectName}\\build\" && jom.exe -f Makefile.Release"],"options": {"cwd": "${workspaceFolder}"},"dependsOn": ["QmakeProject"],"group": "build"}]
}

四 运行

4.1 任务选择

配置好后选择运行上方菜单中的终端-运行选择我们写好的任务就可以构建项目了,构建好后的文件会放在插件上级目录下的bin目录中,bin目录下有debug和release两个目录,分别存放调试版和发布版的dll文件。
在这里插入图片描述

http://www.dtcms.com/a/412416.html

相关文章:

  • 公司做网站选择哪个公司好数据库网站建设教程
  • 430亿美元押注英国,Salesforce 加码 AI 投资
  • 「React实战面试题」:状态批量更新的经典陷阱
  • RSA非对称加密算法
  • app的网站域名注册网站开发费用是研发费用
  • 网站开发公司怎么查网页设计尺寸厘米
  • 教人做家务的网站企业铭做网站
  • 凡科网做网站电脑网站安全证书有问题如何解决
  • seo网站推广排名广州网络营销运营
  • 网站需要实名认证查企业电话软件哪个好
  • STM32CubeMX、X-CUBE-AI、Keil5 安装
  • 广州建设网站企业兰亭集势网站模板
  • 临沂广润网站建设做视频网站成本高吗
  • 今年北斗GNSS变形监测系统与单北斗设备对比大坝监测推荐榜单
  • VBA 处理 Adobe Acrobat 文档:从文本搜索到交互式链接
  • 【读书笔记】深入理解JVM C12 内存模型与线程
  • 手机建站程序莱芜都市网app
  • 好的ppt模板免费下载网站舟山市建设工程质量监督站网站
  • 网站 内容建设存在的问题asp.net商务网站开发
  • 做网站需要用什么系统10岁一12岁的创意手工
  • 人文经济学与人工智能融合发展研究:现状、影响与趋势
  • Gin框架整合Swagger生成接口文档完整指南
  • 织梦图片网站ppt模板免费下载百度云
  • 【JAVA】深入解析Java String类:原理与常用方法
  • h1z1注册网站公路机电工程建设网站
  • 江苏建设网官方网站游戏开发工程师需要学什么
  • 数据的港湾:本地存储 `Storage` API
  • 手机建设网站的目的如何在网上接做网站的小项目
  • build.gradle中的dependencies 中API
  • 室内设计网站资源网站建设公司怎么运营