VSCode使用Qt的MinGW作为编译器编译C++

一、起因

我本人已经安装了Qt、VS、VSCode,因此不想再安装其他的编译器,但又想使用VSCode直接编译,所以就想看一下能否VSCode能否直接使用Qt的编译器。经过实验的确是可以的,这样就无需再下载MinGW-w64,其实我也有下载下来,对比Qt的MinGW编译器和MinGW-w64两个编译器有何区别,经过对比发现只有一个文件夹文件名不同,其他完全相同,因此我们完全没必要使用MinGW-w64编译器。


二、详细配置

1. 配置准备

要测试VSCode能否编译C++程序,首先要有一个程序,当然是我们的helloworld了!

#include <iostream>
using namespace std;

int main()
{
   cout <<endl;
   cout << "helloworld" << endl;
   cout <<endl;

   return 0;
}

程序准备好了,VSCode安装就不赘述了,网上一堆,VSCode插件如下,有的不一定会用到哈。

VSCode中的插件

在VSCode建立工程如下,一个是.vscode文件夹,一个是自己的工程目录,其中test.cpp中输入上述helloeorld程序。注意文件夹必须是不包含中文的路径。

VSCode中建立的工程

2.文件生成

我们需要生成三个文件,tasks.json、launch.json、c_cpp_properties.json,三个文件的作用分别如下。

  • tasks.json生成任务。告诉VSCode 如何生成(编译)程序,该任务将调用g++ 编译器以基于源代码创建可执行文件
  • launch.json调试器设置;
  • c_cpp_properties.json编译器路径和IntelliSense 设置。

3.tasks.json文件生成

选择菜单栏中终端->配置任务,弹出如下图所示的选项框,选择C/C++:g++.exe生成活动文件,一定要注意选择的这个选项路径,选项中的路径要和你的Qt编译器路径一致!

Qt编译器路径
终端->配置任务->选项框

 经过上述操作,在.vscode中自动生成了tasks.json文件,如下图所示,文件内容如下所示:

自动生成tasks.json文件

 tasks.json文件解析(下面参考文件中摘过来的):

  • command 设置指定要运行的程序;在这种情况下是 g++
  • args 数组指定将传递给 g++ 的命令行参数。必须按照编译器期望的顺序指定这些参数。此任务告诉 g++ 获取活动文件(${file}),对其进行编译,并在当前目录(${fileDirname})中创建一个与活动文件同名但以 .exe 为扩展名(${fileBasenameNoExtension}.exe)的可执行文件,如 helloworld.exe 。可使用"${workspaceFolder}\\*.cpp"来替换 ${file},这将生成当前文件夹中的所有 .cpp 文件
  • label 是在任务列表中显示的值,可以随意命名
  • group 中 "isDefault": true 指定当按 Ctrl + Shift + B 时将运行此任务。此属性仅出于方便起见;如果设置为 false,仍然可以使用“ 任务:运行构建任务”从“终端”菜单中运行
  • gourp 中的 "isDefault": true,指定当按下 Ctrl + Shift + B 时将运行此任务。此属性仅出于方便起见;如果将其设置为 false,仍可以使用“ 运行生成任务”从“终端”菜单中运行

 然后选择终端->运行生成任务,生成.exe文件,如下图所示:

运行生成任务生成exe文件

4.launch.json文件生成

在test.cpp中选择添加调试配置,弹出对话框如下,选择C/C++: g++.exe 生成和调试活动文件,同样注意编译器路径是否正确。

添加调试配置按钮
弹出对话框

 在弹出的对话框中选择红色箭头指向的选项之后,在工程中自动生成launch.json文件如下图所示:

自动生成的launch.jason文件

launch.json文件中部分变量含义如下(同样摘自下方参考文献):

  • program 设置指定要调试的程序
  • 默认情况下,C++ 扩展不会在您的源代码中添加任何断点,并且 stopAtEntry 值设置为 false。将 stopAtEntry 值更改为 true 会导致调试器开始调试时在 main 方法上停止

然后我们就可以调试代码了:

5.c_cpp_properties.json文件生成

使用快捷键Ctrl + Shift + P,或者界面左下方管理->命令面板,弹出如下图所示对话框,选择C/C++: g++.exe 编辑配置(JSON)选项,下方第一个选项是UI界面配置,我们要生成文件所以需要选择C/C++: g++.exe 编辑配置(JSON)选项。

弹出的对话框

如下图所示为自动生成的c_cpp_properties.json文件。 

自动生成的c_cpp_properties.json文件

至此,三个文件生成完毕!


三、参考链接

Windows下VSCode配置C++环境 - 知乎


四、加入圈子

🍎欢迎大家加入组织,一起交流、学习,群内多为嵌入式爱好者,也有企业MCU、Linux大佬carry。

🍎 球球群:【嵌入式c、c++、单片机、linux技术交流2群】🍎

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kashine

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值