蒟蒻第一次发博客,轻喷~

我在安装 VScode 的时候可谓历经磨难,所以就萌生出写这篇文章的想法。

Windows 下用 MinGW-64 配置 VScode 的 C/C++ 环境

一、下载 MinGW-w64 并添加到环境变量

MinGW 的全称是:Minimalist GNU on Windows ,就是 GCC 的 Windows 版本 。MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。

有两种下载 MinGW-w64 的方法——在 SourceForge 下载或用 MSYS2 下载。

1. 在 SourceForge 下载

SourceForge 是全球最大开源软件开发平台和仓库,网站建立的宗旨,就是为开源软件提供一个存储、协作和发布的平台。SourceForge 上拥有大量非常优秀的开源软件,事实上,这些软件完全可以代替一些商业软件。

可以直接在 SourceForge 上存储的 MinGW-w64 的二进制文件 里下载编译好的 MinGW-w64 。

注意:要滑到下面下载 MinGW-W64 GCC-X.X.X ,不建议下载 MinGW-W64 Online Installer ,因为它几乎下载不下来 MinGW-w64 。

每个 MinGW-W64 GCC-X.X.X 下都有很多版本,这里是它们的区别

2. 用 MSYS2 下载

MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从”MinGW-生成”)基础上产生的,追求更好的互操作性的 Windows 软件。

可以看到,在 SourceForge 上的 MinGW-w64 的最高版本只是 8.1.0 ,然而 GCC 12.2 都已经发布了,那有没有办法下载到最新版的 MinGW-w64 ?答案是肯定的,那就是用 MSYS2 下载 MinGW-w64 。

安装 MSYS2

有两种方法:

  1. MSYS2 官网 下载安装包。

  2. distrib目录中其清华大学开源软件镜像)下载免安装版(即“msys2-i686-latest.tar.xz”或“msys2-x86_64-latest.tar.xz”)。

下载 MinGW-w64

安装完成后,找到安装文件夹下的 msys2.exe ,双击它就可以打开 MSYS Shell 。

  • 如果为32位,键入pacman -S mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-make

  • 如果为64位,键入pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make

然后等待其下载完成即可。

关于pacman的一些常用命令:

  • 输入pacman -Sl,可以列出msys2官方库中的的所有软件

  • 输入pacman -Q,可以列出当前安装的所有软件

  • 输入pacman -S 软件名,可以安装相应的软件

  • 输入pacman -R 软件名,可以移除相关的软件

  • 输入pacman -Syu,可以升级所有的软件

3. 把 MinGW-w64 添加进环境变量

在桌面右键“此电脑”,点击“属性”,进入“控制面板/所有控制面板项/系统”,点击“高级系统设置”进入“系统属性/高级”,点击进入“环境变量”,选择“系统变量/Path”,再点击“编辑”打开“编辑环境变量”窗口,点击“新建”,键入 放MinGW-w64的文件夹\bin(比如F:\mingw64\binF:\msys2-x86_64-latest\msys64\mingw64\bin)。

按“Win + R”打开”运行“窗口,键入cmd打开 命令提示符 ,然后键入gcc -v。如果输出的是一大串配置文本和版本号就配置成功了。

二、安装并配置 VScode

1. 安装 VScode

在 VScode 官网下载安装包并安装即可。

这么简单的事情应该不需要我多说吧(

2. 安装扩展

适用于 VS Code 的中文(简体)语言包

C/C++ 智能感知、调试和代码浏览。

3. 配置工作文件夹

先新建一个文件夹当做工作文件夹,然后打开 VScode ,点击“文件/打开文件夹”,然后打开 工作文件夹 ,然后 VScode 就会弹出“是否信任此文件夹中的文件的作者?”,点击“信任文件夹并继续”。

选择左侧“资源管理器”中自己创建的工作文件夹,点击“新建文件夹”,命名为.vscode

然后新建一个.cpp文件,随便写点代码:

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello VScode!" << endl;
    system("pause");//要加system("pause")防止一运行完就退出
    return 0;
}

然后点击“运行/启动调试”(或按F5),在弹出的“选择配置”窗口中选择调试器“C++ (GDB/LLDB)”,再点击“C/C++: g++.exe 生成和调试活动文件”,.vscode文件夹里会生成一个tasks.json,如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "F:\\msys2-x86_64-latest\\msys64\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

注意:"command"的值要换成自己g++.exe的地址

然后 VScode 就会开始编译,最后在下方的“终端”运行(不是“调试控制台”)。

如何让程序弹出新的黑色窗口并在里面运行运行?

在最左侧点击“运行和调试”,点击“创建 launch.json 文件”,在弹出的“选择调试器”中点击“C++ (GDB/LLDB)”,.vscode文件夹里会生成一个launch.json,如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}

然后我们在"configura"中填加配置文本,使其变成这样:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "cwd": "${workspaceFolder}",
            "externalConsole": true,
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

再点击“运行/启动调试”(或按F5),就可以发现程序是在新弹出的黑色窗口中运行。

注意:launch.json"preLaunchTask"的值要和tasks.json"label"的值一致

原文地址:http://www.cnblogs.com/happy-arno/p/16860771.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性