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

在vscode中运行c++代码,windows 11系统

缘起

工作中用mac电脑,装了vscode和c++,在家里的windows电脑上,也想运行vscode,这时候就遇到问题了。现在将问题解决方案记录下来,以供参考。

解决方案

开始比较懒,直接百度一下,找了几篇文章,都不大行。后来还是去官网了。因为之前记得官网的教程是最直观的。如果懒得听我啰嗦,直接去官网上看即可。
官网地址
https://code.visualstudio.com/docs/languages/cpp

先决条件
若要成功完成本教程,必须执行以下步骤:

安装 Visual Studio Code。

安装适用于 VS Code 的 C/C++ 扩展。您可以通过在“扩展”视图(Ctrl+Shift+X)中搜索“C++”来安装 C/C++ 扩展。
在这里插入图片描述

安装 MinGW-w64 工具链

通过 MSYS64 获取最新版本的 MinGW-w2,它提供了 GCC、MinGW-w64 和其他有用的 C++ 工具和库的最新本机版本。这将为你提供必要的工具来编译代码、调试代码并将其配置为使用 IntelliSense。

  1. 您可以从 MSYS2 页面下载最新的安装程序,也可以使用此直接链接到安装程序。

  2. 运行安装程序并按照安装向导的步骤操作。请注意,MSYS2 需要 64 bit Windows 8.1 或更高版本。

  3. 在向导中,选择所需的安装文件夹。记录此目录以备后用。在大多数情况下,建议的目录是可以接受的。当您设置开始菜单快捷方式步骤时,这同样适用。完成后,确保选中“立即运行 MSYS2”框,然后选择“完成”。这将为您打开一个 MSYS2 终端窗口。

  4. 在此终端中,通过运行以下命令安装 MinGW-w64 工具链:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
  1. 按 Enter 键接受组中默认的包数。toolchain
    在这里插入图片描述

  2. 当系统提示是否继续安装时,请输入。Y

  3. 使用以下步骤将 MinGW-w64 文件夹的路径添加到 Windows 环境变量中:binPATH

    1. 在 Windows 搜索栏中,键入“设置”以打开 Windows 设置。
    2. 搜索 Edit environment variables for your account(编辑帐户的环境变量)。
    3. 在“用户变量”中,选择变量,然后选择“编辑”。Path
    4. 选择“新建”,将您在安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。如果您使用了上面的默认设置,则这将是路径:C:\msys64\ucrt64\bin
    5. 选择“确定”以保存更新的 PATH。您需要重新打开任何控制台窗口,才能使新的 PATH 位置可用。
检查 MinGW 安装

要检查您的 MinGW-w64 工具是否正确安装并可用,请打开新的命令提示符并键入:

gcc --version
g++ --version
gdb --version

您应该会看到输出,其中指出您安装了哪些版本的 GCC、g++ 和 GDB。如果不是这种情况:

确保您的 PATH 变量条目与安装 toochain 的 MinGW-w64 二进制位置匹配。如果该 PATH 条目中不存在编译器,请确保按照前面的说明进行操作。
如果具有正确的输出但没有 ,则需要安装 MinGW-w64 工具集中缺少的软件包。gccgdb
如果在编译时收到“miDebuggerPath 的值无效”消息,则原因之一可能是您缺少包。mingw-w64-gdb

创建 Hello World 应用

首先,让我们设置一个项目。

启动 Windows 命令提示符(在 Windows 搜索栏中输入 Windows 命令提示符),然后
运行以下命令。这些将创建一个名为“空文件夹”的空文件夹,您可以在其中放置所有 VS Code 项目。在那里,下一个命令将创建并导航到名为 的子文件夹。从那里,您将直接在 VS Code 中打开。projectshelloworldhelloworld

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

“code .”命令在当前工作文件夹中打开 VS Code,该文件夹将成为“工作区”。通过选择“是,我信任作者,因为这是你创建的文件夹”来接受“工作区信任”对话框。

在完成本教程时,你将看到在工作区的文件夹中创建了三个文件:.vscode

tasks.json(构建说明)
launch.json(调试器设置)
c_cpp_properties.json(编译器路径和 IntelliSense 设置)
添加源代码文件
在文件资源管理器标题栏中,选择“新建文件”按钮,并将文件命名为 。helloworld.cpp

“新建文件标题栏”按钮

添加 hello world 源代码
现在粘贴以下源代码:

#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;
}

现在按 Ctrl+S 保存文件。请注意,刚刚添加的文件在 VS Code 侧栏的“文件资源管理器”视图 (Ctrl+Shift+E) 中显示:

文件资源管理器

您还可以启用“自动保存”以自动保存文件更改,方法是选择“文件”>“自动保存”。可以在 VS Code 用户界面文档中找到有关其他视图的详细信息。

运行 helloworld.cpp

请记住,C++ 扩展使用计算机上安装的 C++ 编译器来构建程序。在尝试在 VS Code 中运行和调试之前,请确保已完成“安装 MinGW-w64 工具链”步骤。helloworld.cpp

打开,使其成为活动文件。helloworld.cpp

按编辑器右上角的播放按钮。

从系统上检测到的编译器列表中选择 C/C++:g++.exe 生成和调试活动文件。

C++ 调试配置下拉列表

只有在第一次运行时,系统才会要求您选择编译器。此编译器将在文件中设置为“默认”编译器。helloworld.cpptasks.json

构建成功后,程序的输出将显示在集成终端中。

祝贺!你刚刚在 VS Code 中运行了你的第一个 C++ 程序!

相关文章:

  • 【LeetCode力扣】189 53 轮转数组 | 最大子数组和
  • C++-类与对象(上)
  • Vue学习之样式汇总
  • 什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?
  • Vue引入异步组件
  • C#列表List的创建与使用
  • 阿里蚂蚁淘宝等多次一面面试面经
  • AM@积分上限的函数及其导数@微积分第一基本定理@原函数存在定理
  • Qt配置OpenCV教程,亲测已试过
  • 一键添加命名前缀(文件)
  • 自动驾驶的未来展望和挑战
  • liunx Centos-7.5上 rabbitmq安装
  • c++ qt连接操作sqlite
  • C++深度优先(DFS)算法的应用:收集所有金币可获得的最大积分
  • 算法随想录算法训练营第四十六天| 583. 两个字符串的删除操作 72. 编辑距离
  • hexo+github搭建个人博客
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JSDuck 与 AngularJS 融合技巧
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Octave 入门
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • TypeScript实现数据结构(一)栈,队列,链表
  • Vim 折腾记
  • webpack+react项目初体验——记录我的webpack环境配置
  • 搭建gitbook 和 访问权限认证
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 分享一份非常强势的Android面试题
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前端自动化解决方案
  • 使用parted解决大于2T的磁盘分区
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个JAVA程序员成长之路分享
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (超详细)语音信号处理之特征提取
  • (附源码)计算机毕业设计ssm电影分享网站
  • (蓝桥杯每日一题)love
  • (一)Dubbo快速入门、介绍、使用
  • (一)UDP基本编程步骤
  • .NET 8.0 发布到 IIS
  • .NET BackgroundWorker
  • .NET Standard 的管理策略
  • .NET 的程序集加载上下文
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET成年了,然后呢?
  • .NET开发不可不知、不可不用的辅助类(一)
  • .net中的Queue和Stack
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @软考考生,这份软考高分攻略你须知道
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [echarts] y轴不显示0
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle