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

安装编译器

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

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/

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

cd ~
pacman -Syu

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

pacman -S mingw-w64-x86_64-toolchain

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

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

pacman -S mingw-w64-x86_64-clang
pacman -S mingw-w64-x86_64-lldb
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 的内容如下:

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

c_cpp_properties.json 的内容:

{
"configurations": [
{
"name": "Win32",
"intelliSenseMode": "clang-x64",
"compilerPath": "e:/Softwares/msys64/mingw64/bin/g++.exe",
"includePath": [
"${workspaceFolder}"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
],
"browse": {
"path": [
"${workspaceFolder}"
]
},
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "",
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 3
}

launch.json 的内容:

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

运行代码

完成上面的工作后,在 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. html的文件控件<input type="file">样式的改变

    一直以来,<input type="file">上传文件标签默认样式都是让人不爽的,使用它多要给它整整容什么的,当然如果用ui插件还比较方便,不能就自己来操刀实践一下! ...

  2. 【Leetcode】【Medium】Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. For example:Given 1 ...

  3. 关于单一网络适配器拓扑TMG

    单网络适配器拓扑的功能 在单网络适配器拓扑中可以实现有限的 Forefront TMG 功能,其中包括: 针对 HTTP.HTTPS 和 CERN 代理 FTP 的正向 (CERN) 代理(仅限下载) ...

  4. February 2 2017 Week 5 Thursday

    Only do what your heart tells you. 随心而行. My heart tells me that I should leave here and go back to X ...

  5. 关于映射异常org.hibernate.MappingException: An association from the table DUTY_INFO refers to an unmapped class: com.pms.entities.other.Department的原因。

    在编程过程当中由于修改过了包名. 原来的包名是: com.pms.entities.base 然后改为了:com.pms.entities.other 当我重新映射生成数据表的时候就报错:org.hi ...

  6. Pollard_rho 因数分解

    Int64以内Rabin-Miller强伪素数测试和Pollard 因数分解的算法实现 选取随机数\(a\) 随机数\(b\),检查\(gcd(a - b, n)\)是否大于1,若大于1则\(a - ...

  7. 【[TJOI2014]上升子序列】

    这本质上是一个\(dp\) 如果没有"两个上升子序列相同,那么只需要计算一次"这一个性质,那么就很好做了,我们用\(dp[i]\)表示以\(i\)结尾的上升子序列个数,那么就有\( ...

  8. 【2^k进制数】

    发现自己推得组合数好像不太一样 先把这个复杂的柿子写一遍 \[\sum_{i=2}^{\left \lfloor\frac{n}{k}\right \rfloor}C_{2^k-1}^{i}+\sum ...

  9. spring AOP 代理(静态与动态+使用cglib实现)

    一.没有代理模式 缺点: 1.工作量特别大,如果项目中有多个类,多个方法,则要修改多次. 2.违背了设计原则:开闭原则(OCP),对扩展开放,对修改关闭,而为了增加功能把每个方法都修改了,也不便于维护 ...

  10. diogo谈框,仿prompt()方法布局

    展示效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...