资讯

展开

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使用Qt的MinGW作为编译器编译C++
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编译器路径一致!

VSCode使用Qt的MinGW作为编译器编译C++
Qt编译器路径
VSCode使用Qt的MinGW作为编译器编译C++
终端->配置任务->选项框

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

VSCode使用Qt的MinGW作为编译器编译C++
自动生成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文件;如下图所示;

VSCode使用Qt的MinGW作为编译器编译C++
运行生成任务生成exe文件

4.launch.json文件生成

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

VSCode使用Qt的MinGW作为编译器编译C++
添加调试配置按钮
VSCode使用Qt的MinGW作为编译器编译C++
弹出对话框

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

自动生成的launch.jason文件

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

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

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

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

5.c_cpp_properties.json文件生成

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

VSCode使用Qt的MinGW作为编译器编译C++
弹出的对话框

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

VSCode使用Qt的MinGW作为编译器编译C++
自动生成的c_cpp_properties.json文件

至此;三个文件生成完毕;


三、参考链接

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


四、加入圈子

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

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

自己搜索吧;官方不让发;净想着白嫖我文章;

或者打开下方链接;链接内部文件夹名字即为QQ群;

链接;https://pan.baidu.com/s/1eJVYBtBoCV3aIR3cNoZ4IA?pwd=fss5 ;直接进入;无需提取码;
提取码;fss5

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!