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 之后 ,就算齐活了 。工友喊我搬砖了 ,大家,我走了
  • 相关阅读:
    最短路径的三种实现方法
    c/c++小知识
    c++ char * const p问题
    C++ typedef 四个用途
    [转]c++面向对象基础
    [转]C++中引用(&)的用法和应用实例
    表情包。
    linux基础学习
    redis缓存在项目中的使用
    关于redis
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10739783.html
Copyright © 2011-2022 走看看