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文件。