【教程】VScode :C/C++编译环境搭建

目录

0.前言

一.问题揭露与原因分析

1.1为什么VScode上C/C++环境的搭建如此复杂?

1.2编辑器和编译器的区别

1.3VScode是编辑器!

二.安装编译器

2.1MinGW-w64简介

2.2MinGW的安装

2.3MSYS的安装

2.4安装操作指引与建议

三.联合!

3.1环境变量

3.2配置环境变量

四.小结

4.1最后

4.2尚存在的问题


0.前言

本文将完完全全站在初学者角度,详细地教授各位如何在vscode上搭建C/C++编译环境。要想搭建好编译环境还真不是件容易的事,这涉及到了许多计算机较为深入的知识。当然您可以在网络上搜索教程,但是我总认为那是照猫画虎,根本不明白为什么要那样操作,再加上时过境迁,过去的视频和现在的版本有出入,跟着视频做了代码还是运行不了(笔者当初就是如此)。授人以鱼不如授人以渔,本文旨在在教会读者如何搭建编译环境的同时还告诉读者为什么要这么操作。当然了解这些并不会对敲代码的能力有什么帮助,但各位应当都为未来的程序员,浅尝一些计算机深入一些的知识相信还是有所裨益的。

鉴于笔者资历有限,很多内容可能不够准确,本文仅供参考,同时也敬请谅解。

一.问题揭露与原因分析

1.1为什么VScode上C/C++环境的搭建如此复杂?

作为用户,我们习惯了操作图形界面。安装一个程序,我们要做的事就只是不停的点击"下一步"(事实上我们安装的绝大多数程序也的确是如此操作的,包括VScode),这当然很轻松。而VScode却让初学者十分"恼火",想要发挥它的功能,除安装好它之外我们还要进行很多纷繁复杂且难以理解的操作。为什么VScode上C/C++环境的搭建如此复杂?想要知道答案,我们首先要区分编辑器和编译器。

1.2编辑器和编译器的区别

什么是编辑器?顾名思义,我们可以把它理解为做文本编辑的工具,像windows的记事本就是一个文本编辑器,具体来讲,编辑器是用来编写程序源代码的。

而编译器重在“译”,它要做的是将我们写的代码翻译给计算机来执行。相信稍微有点编程基础的都能明白。

1.3VScode是编辑器!

必须明确,VScode是一个依靠命令行工具来完成大部分开发工作流程的编辑器。也就是说,vscode只负责编写程序,并不负责编译程序。如果我们只是用它写代码,不编译,VScode当然可以直接上手,但想让它集成编译功能,就需要我们做很多深入的环境搭建操作。(我们install的C/C++拓展的功能是语法突出显示/着色及智能完成等等,起的是辅助编辑的作用,同样不负责编译)。

VScode是编辑器而非编译器和调试器,因此,我们无法直接上手VScode进行编程,想要运行代码,必须将VScode和编译器联合!

二.安装编译器

2.1MinGW-w64简介

MinGW的全称是Minimalist GNU on Windows。它将经典开源的C语言编译器GCC移植到了Windows平台下,并且包含了Win32API,因此借助它我们就可以将源代码编译为可在Windows中运行的可执行程序了。

2.2MinGW的安装

需要提出的是我们不能单独安装MinGW。我们需要通过MSYS2进而安装 Mingw-w64。原因可参看官网:http://mingw-w64.org/doku.php/download

2.3MSYS的安装

敬请参考官方教程,其讲解对小白非常友好MSYS2

2.4安装操作指引与建议

鉴于官方教程是英文的,笔者在此再做些补充:

2.4.1建议就采取默认的下载路径安装msys2,因为之后还要配置环境变量,对小白来说找到正确的路径还是挺复杂的(笔者当初就折腾了好久),按照默认设置可以照抄作业,内存肯定占点但其实也还好。

2.4.2下载完毕后打开msys,打开后显示的是命令行界面: 

先后输入指令:

pacman -Syu(更新包数据库和基本包)

pacman -Su(更新其余的基本包)

以上只是基本操作,官网也有教程,我们真正需要的是gcc,输入指令:

pacman -S gcc(安装gcc)

2.4.3成功标准:

输入gcc -v,有如下显示:

 如显示gcc:command not found...则说明安装存在问题,解决后才能进行下一步。

三.联合!

前面说过,想要运行代码,必须将VScode和编译器联合。VScode下载好了,编译器也安装好了,但两者没联合在一起,还是运行不了。而所谓联合,就是要能让VScode能够调用编译器!这就意味着要在不打开gcc的情况下利用VScode来调用gcc!(这种感觉,就像是要你在没打开微信的情况下用QQ来拉起微信的功能)想要解决这个问题,我们要引入环境变量。

3.1环境变量

对于环境变量,我们可以把它理解为【系统的视线范围】,配置进入了环境变量的程序,就等于是进入了系统的视线范围。

这里特别介绍windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。什么意思?形象一点来说,现在我们知道要做的是让VScode调用编译器,可是到底要怎么做?已知VScode在调用程序时,除了VScode内部的程序之外,还可以调用Path路径内的程序。当我们把gcc所在的路径加入到Path中,VScode就可以拉起gcc编译器(可以理解为gcc进入到了VScode的视线范围),进而实现编译了。

3.2配置环境变量

3.3.1首先打开系统的环境变量窗口,最方便的方法是直接在搜索框中搜索:

 3.3.2系统属性-》高级-》环境变量-》系统变量-》点击Path-》编辑

3.3.3找到gcc安装的位置,并将其路径添加到Path当中

gcc的所在位置因当初msys的安装位置的不同而不同,因此我只能充当一个案例来给大家看看路径该怎么找(或许并不太科学,但毕竟针对小白,还算行之有效,大佬也不用我教了),大家需自行体会。但我msys的安装是按照默认的,如果您也是如此,我们gcc的位置应该相同。

见上图,可大体获知gcc的安装位置,但其实我的gcc的具体位置并不在那里(我也不太明白具体是怎么一回事)

由图,我的gcc在:

C:\msys64\usr\bin

将此路径写入Path中,即可实现VScode与gcc的联合 。

3.3.4成功标准:

打开VScode,按住win+R,键入cmd,打开,输入gcc -v,显示为:

则成功。

若是如此则失败。 

四.小结

4.1最后

理论上安装好编译器并设置好环境变量就可以正常跑程序了。当然vscode上C/C++的拓展以及code runner肯定也要下好,这都是小问题,就不在此赘述了。这里贴出官方教程:

C++ programming with Visual Studio Code

官方的教程肯定更加详细具体,但我在看的时候很多操作还是看不懂,磕磕巴巴好不容易算是悟到了一些细节,故写了此文与诸位读者共享,本文也建议与官方文档配套使用。

4.2尚存在的问题

做好上述操作后我的代码就可以跑出结果了,但其实vscode还是有报这样一个错误:

理论上设置好环境变量应该可以解决,但在我的电脑上并不可以,有同样存在此问题的读者可以参考此文:

VScode 检测到#include 错误,请更新includepath。已为此翻译单元 禁用波形曲线_侯白丁的博客-CSDN博客

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在Linux上搭建VSCode的C++开发环境,您需要按照以下步骤进行配置: 1. 首先,确保您已经安装了Visual Studio Code。您可以从官方网站下载并安装它。 2. 打开VSCode并点击左侧的Extensions图标(或使用快捷键Ctrl+Shift+X)。 3. 在搜索框中输入"C/C++",然后点击安装C/C++扩展。 4. 安装完成后,您可以开始配置编译器。在VSCode中,点击左侧的文件夹图标,打开您的C++项目文件夹。 5. 在项目文件夹中创建一个新的C++源文件,例如"helloworld.cpp"。 6. 在"helloworld.cpp"文件中,粘贴以下代码并保存: ```cpp #include <iostream> #include <vector> #include <string> using namespace std; int main() { vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const string& word : msg) { cout << word << " "; } cout << endl; } ``` 7. 现在,您可以使用VSCode编译和调试功能来运行这个简单的C++程序了。 请注意,VSCode本身只是一个文本编辑器,您需要通过配置来使用GCC C++编译器(g++)和GDB调试器。\[2\]确保您已经正确安装了这些工具,并按照上述步骤进行配置,以便在VSCode中进行C++开发。 #### 引用[.reference_title] - *1* [【Linux下C++开发】第三篇·使用VSCode进行C++开发](https://blog.csdn.net/qq_52785580/article/details/123153043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [基于Linux下的vscode c/c++开发环境搭建详细教程](https://blog.csdn.net/icacxygh001/article/details/120981354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值