zoukankan      html  css  js  c++  java
  • windows 10环境下 使用 msys2 + vs code 配置 c++ 的编译环境

    不太多描述 msys2 与  vs code  ,既然你需要安装 一种语言的编译环境了 ,你肯定对这两个不陌生;

    1. 先安装msys2; (下载多少位的msys2就安装多少位的 mingw,本人安装 32位的)

    下载连接地址:http://msys2.github.io/

    按照 官网文档,一步一步安装。

    2.修改msys 源(推荐修改)

    修改参考地址:https://mirrors.tuna.tsinghua.edu.cn/help/msys2/ (点击查看)

    复制代码
    pacman 的配置
    
    编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
    
    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
    
    
    编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:
    
    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
    
    
    编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:
    
    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
    
    
    然后执行 pacman -Sy 刷新软件包数据即可。
    复制代码

    ,配置好之后, 输入 pacman -Syu更新 msys2软件包;

    更新好之后,分别安装 gcc,gdb,make 包

    注意点:当你更新msys2 之后,查看,msys2的安装目录下,多出很多.exe 文件;

     最好跟你 安装的msys2的 位数 一致 ,32位的msys2下的,你就启动 mingw32.exe; 同理 64位。

     ,开始安装 gcc,gdb,make;

    在窗体中分别输入:

    pacman -S mingw32/mingw-w64-i686-gcc

    pacman -S mingw32/mingw-w64-i686-gdb

    pacman -S mingw32/mingw-w64-i686-make

    安装完成之后, 配置 mingw32的环境变量:

    Path 添加 “C:msys32mingw32in;”

    3.验证:windows+R = cmd

    在cmd 窗体中  分别输入:

    gcc -v

    gdb -v

    查看gcc 与gdb 是否安装ok 以及他们的版本信息;

    4.下载并安装 vs code(地址:https://code.visualstudio.com/c?utm_expid=101350005-27.GqBWbOBuSRqlazQC_nNSRg.2&utm_referrer=https%3A%2F%2Fcode.visualstudio.com%2FDocs%2F%3Fdv%3Dwinzip

    5.配置 vs code 的c++编译环境

    打开 vs code ,

    选中c++ 相关的配置,会在本地多出一个.vscode的文件,并有 launch.json 文件。这进行配置,

    如何配置,可以参考我的配置 文件内容,或者参考 官网文档(https://code.visualstudio.com/docs/languages/cpp

    launch.json:

    复制代码
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "C++ Launch",
                "type": "cppdbg",
                "request": "launch",
                "targetArchitecture": "x86",
                "program": "${workspaceRoot}/a.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceRoot}",
                "environment": [],
                "externalConsole": true,
                "miDebuggerPath":"C:/msys32/mingw32/bin/gdb.exe",
                "preLaunchTask":"g++",
                "linux": {
                    "MIMode": "gdb"
                },
                "osx": {
                    "MIMode": "lldb"
                },
                "windows": {
                    "MIMode": "gdb"
                }
            },
            {
                "name": "C++ Attach",
                "type": "cppdbg",
                "request": "launch",
                "targetArchitecture": "x64",
                 "program": "${workspaceRoot}/a.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceRoot}",
                "environment": [],
                "processId": "${command.pickProcess}",
                "externalConsole": false,
                "preLaunchTask":"g++",
                "linux": {
                    "MIMode": "gdb"
                },
                "osx": {
                    "MIMode": "lldb"
                },
                "windows": {
                    "MIMode": "gdb"
                }
            }
        ]
    }
    复制代码

    注意 

    miDebuggerPath 节点的配置,要与本地的路径一直.

    配置好了之后,F5启动调试,这个时候,会让你配置tasks.json。 会出现,一个下拉框,你随便选择一个(目的,是为了出现 tasks.json 文件),这样,直接 配置 tasks.json 文件即可;
    5.配置 tasks.json 文件:
    复制代码
    {
        "version": "0.1.0",
        "command": "g++",
        "args": ["-g","${file}"],
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}"],
            "pattern": {
                "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
    复制代码
    
    
    
    配置好了之后,

    有一个点要注意,配置下 #include<> 头文件的路径,vs code,经常提示,没有找到 include 的文件路径。
    把 鼠标放在绿色的波浪线 上,会出现一个 灯泡 ,那个是配置文件的入口,别忘记配置了;

    c_cpp_properties.json:
    复制代码
    {
        "configurations": [
            {
                "name": "Mac",
                "includePath": [
                    "/usr/include"
                ],
                "browse": {
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": ""
                }
            },
            {
                "name": "Linux",
                "includePath": [
                    "/usr/include"
                ],
                "browse": {
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": ""
                }
            },
            {
                "name": "Win32",
                "includePath": [
                    "C:/msys32/mingw32/include/c++/6.1.0/*",
                    "C:/msys32/mingw32/i686-w64-mingw32/include/*",
                    "C:/msys32/mingw32/include"
                ],
                "browse": {
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": ""
                }
            }
        ],
        "clang_format": {
            "style": "file",
            "fallback-style": "LLVM",
            "sort-includes": false
        }
    }
    复制代码
    
    
    这几个都配置ok 之后 ,就算齐活了 。工友喊我搬砖了 ,大家,我走了
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 一元三次方程
    Java实现 蓝桥杯VIP 算法训练 乘法表
    Java实现 蓝桥杯VIP 算法训练 矩阵加法
    Java实现 蓝桥杯VIP 算法训练 一元三次方程
    Java实现 蓝桥杯VIP 算法训练 平方计算
    Java实现 蓝桥杯VIP 算法训练 平方计算
    Java实现 蓝桥杯VIP 算法训练 平方计算
    Java实现 蓝桥杯VIP 算法训练 乘法表
    Java实现 蓝桥杯VIP 算法训练 乘法表
    监管只是压倒网盘业务的一根稻草,但不是主要原因(答案只有一个:成本!)
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10739783.html
Copyright © 2011-2022 走看看