每次换台电脑写c++,就要找配置,很是繁琐。这次自己写篇博客,记录下相关配置过程。

安装编译器

打开下面的网站 http://www.msys2.org ,下载 64 位的 MSYS2,按照主页上的步骤安装软件。完装完成后,输入命令:

  1. cd /etc/pacman.d

进入 /etc/pacman.d 目录后,分别修改下面 3 个文件。

  1. mirrorlist.mingw32 文件内容为:

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

  2. mirrorlist.mingw64 文件内容为:

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/

  3. mirrorlist.msys 文件内容为:

    Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/

然后输入下面命令,更新系统。

  1. cd ~
  2. pacman -Syu

再次输入命令,安装 c++ 工具。

  1. pacman -S mingw-w64-x86_64-toolchain

出现以下提示,分别选择 3,9,13。文件有点大,耐心等待下载。

或安装clang,此步骤配置较麻烦,慎用。

  1. pacman -S mingw-w64-x86_64-clang
  2. pacman -S mingw-w64-x86_64-lldb
  3. pacman -S mingw-w64-x86_64-make

完成后,把 e:\Softwares\msys64\mingw64\bin\加入到系统环境中。注意:e:\Softwares目录根据实际情况调正。

安装VSCode

这次工具我们选择 VsCode,方便实用,虽然c++的插件弱了点,但是微软开发的,不会差到哪里去。安装完成后选择 c/c++ 插件。见下图。

打开软件,然后在File菜单中,点击Add Folder to Workspace..., 选择一个目录作为以后写c++代码的文件夹,这里我们假设选择的文件夹为 cpp。在 cpp 下新建目录 .vscode, 然后在 .vscode 目录下分别新建 task.jsonc_cpp_properties.json, launch.json 3 个文件。见下图。

tasks.cpp 的内容如下:

  1. {
  2. "version": "2.0.0",
  3. "tasks": [
  4. {
  5. "label": "Compile",
  6. "command": "g++",
  7. "args": [
  8. "-g",
  9. "${file}", //指定编译源代码文件
  10. "-o",
  11. "${fileDirname}/${fileBasenameNoExtension}.exe", // 指定输出文件名,不加该参数则默认输出a.exe
  12. "-ggdb3", // 生成和调试有关的信息
  13. "-Wall", // 开启额外警告
  14. "-static-libgcc", // 静态链接
  15. "-std=c++17", // 使用最新的c++17标准
  16. "-Wno-format",
  17. "-fexec-charset=GBK", //Console窗体输出字符编码 保证能正常显示中文
  18. "-finput-charset=UTF-8" //输入编译器文本编码 默认为UTF-8
  19. ],
  20. "type": "shell",
  21. "group": {
  22. "kind": "build",
  23. "isDefault": true
  24. },
  25. "problemMatcher":"$gcc",
  26. }
  27. ]
  28. }

c_cpp_properties.json 的内容:

  1. {
  2. "configurations": [
  3. {
  4. "name": "Win32",
  5. "intelliSenseMode": "clang-x64",
  6. "compilerPath": "e:/Softwares/msys64/mingw64/bin/g++.exe",
  7. "includePath": [
  8. "${workspaceFolder}"
  9. ],
  10. "defines": [
  11. "_DEBUG",
  12. "UNICODE",
  13. "__GNUC__=7",
  14. "__cdecl=__attribute__((__cdecl__))"
  15. ],
  16. "browse": {
  17. "path": [
  18. "${workspaceFolder}"
  19. ]
  20. },
  21. "limitSymbolsToIncludedHeaders": true,
  22. "databaseFilename": "",
  23. "cStandard": "c11",
  24. "cppStandard": "c++17"
  25. }
  26. ],
  27. "version": 3
  28. }

launch.json 的内容:

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
  6. "type": "cppdbg", // 配置类型,这里只能为cppdbg
  7. "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
  8. "targetArchitecture": "x64", // 生成目标架构,一般为x86或x64
  9. "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
  10. "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
  11. "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
  12. "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}
  13. "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
  14. "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡",
  15. "MIMode": "gdb", // 指定连接的调试器
  16. "miDebuggerPath": "gdb.exe", // 调试器路径
  17. "setupCommands": [
  18. {
  19. "description": "Enable pretty-printing for GDB",
  20. "text": "-enable-pretty-printing",
  21. "ignoreFailures": false
  22. }
  23. ],
  24. "preLaunchTask": "Compile"
  25. }
  26. ]
  27. }

运行代码

完成上面的工作后,在 cpp 目录下,写个 test.cpp 文件,然后按 Ctrl+Shift+B,就会生成 test.exe 文件了。然后在终端执行 test.exe。

VSCode 配置 C++的更多相关文章

  1. 二、vue之 使用vscode配置

    vue之 使用vscode配置 visual  studio code 简称vscode,下图为图标 ... 开启vscode ... 1.导入文件夹,选择菜单栏 文件-打开文件夹->选择相应已 ...

  2. VSCode配置Git随记

    VSCode配置Git随记 2018年05月29日 10:14:24 Dominic- 阅读数:4096   vscode中对git进行了集成,很多操作只需点击就能操作,无需写一些git指令. 不过这 ...

  3. VSCode配置python调试环境

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...

  4. Go(02)windows环境搭建和vscode配置

    之前讲述过linux环境下Go语言开发环境搭建,这次简述下windows的搭建以及vscode配置 windows环境搭建 同样去https://studygolang.com/dl下载windows ...

  5. VSCode配置简单的vue项目

    VSCode配置简单的vue项目 https://www.cnblogs.com/wnxyz8023/p/9989447.html 由于最近要使用的项目框架为前后端分离的,采用的是vue.js+web ...

  6. golang命令和VSCode配置

    Go是一门全新的静态类型开发语言,具有自动垃圾回收.丰富的内置类型.函数多返回值.错误处理.匿名函数.并发编程.反射等特性 golang常用命令: go env #查看go的环境 echo %GORO ...

  7. Win10下使用VSCode配置python运行环境

    VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...

  8. VSCode配置JAVA开发环境

    VSCode配置JAVA开发环境 1:给机器安装JDK.MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/download ...

  9. VSCode配置c++环境简单教程

    VSCode配置c++环境简单教程 1.下载MinGW 安装有关gdb,gcc,g++的所有包 2.文件夹 打开一个文件夹 在里面随便写一个cpp 不管是VS还是VSCode,它的基本操作单位都是文件 ...

  10. VS Code + MinGW + Clang + OpenGL (vscode 配置 opengl环境)

    vscode配置opengl环境会遇到一些问题,这里是在看了一些博文之后给出的一篇完整的可行的配置 首先,要配置C++环境,网上有很多完整的配置C++环境的教程,这里就引用一条 https://www ...

随机推荐

  1. Azure 中 Linux 虚拟机的大小

    本文介绍可用于运行 Linux 应用和工作负荷的 Azure 虚拟机的可用大小与选项. 此外,还提供在计划使用这些资源时要考虑的部署注意事项. 本文也适用于 Windows 虚拟机. 类型 大小 说明 ...

  2. hive 的一个小问题

    hive查询语句中如果包含中文,如like '%奥巴马%' ,并且所查hive表中的数据是utf-8的,可能会查不出正确结果. 原因可能是系统环境的LANG 设置不是utf-8,需要把环境变量LANG ...

  3. 阅读SessionFactory源码

    一.阅读类注释 ①.SessionFactory的主要任务是创建Session的实例.通常一个应用程序只有一个单一的SessionFactory对象,而且线程从这个SessionFactory中获取S ...

  4. Ajax三级联动操作的js代码

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. mybatis插入返回主键

     useGeneratedKeys="true" keyProperty="id" <insert id="insertReturnPrimar ...

  6. [原创] SiteServer 3.5 批量导入文章的SQL处理脚本

    2005时做过一个小网站,当时是用ASP+Access做的,功能很简单,但里面的文章不少 现在就像把它转移到SS上来,重点就是如何导入文章 本来SS本身提供了批量导入功能,但对于在WEB上一次性导入一 ...

  7. BZOJ3503:[CQOI2014]和谐矩阵(高斯消元,bitset)

    Description 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本 身,及他上下左右的4个元素(如果存在). 给定矩阵的行数和列数,请计算并输 ...

  8. 18、配置嵌入式servlet容器(2)

    使用其他Servlet容器 -Jetty(长连接) -Undertow(不支持jsp) 替换为其他嵌入式Servlet容器   默认支持: Tomcat(默认使用) Jetty: <depend ...

  9. ASP.NET Core 程序发布到Linux(Centos7)爬坑实战

    前言 前阶段弄了个Linux系统想倒腾倒腾.NET Core,结果看了下网上的资料,大部分都是过期的,走了不少弯路,不过还好,今下午总算捣鼓出来了.Linux命令太多了,唉.血的教训:安装一定要看官网 ...

  10. halcon 数字转字符串实现循环读取图片

    1.将字符转换为数字 tuple_number (StringImageIndex,IntImageIndex) 2.将数字转换为字符 tuple_string (IntImageIndex, '0' ...