首页 > 编程语言 >msys2 + vscode + C++

msys2 + vscode + C++

时间:2025-01-11 13:32:28浏览次数:1  
标签:bin msys2 vscode pacman C++ msys64 https ucrt64

MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software.
msys2在windows上提供了类似linux的构建环境,可以方便地安装开发所需的各种库文件。网址为https://www.msys2.org/。

安装后可以将其集成到鼠标右键上,方法如下:

  1. regedit中在HKEY_CLASSES_ROOT\Directory\Background\shell路径下创建msys2目录,加上图标和提示语。
  2. msys2目录下创建command目录,默认项中填入要执行的命令。
    "C:\msys64\usr\bin\mintty" -i "/ucrt64.ico" -t "MSYS2 UCRT64" /bin/env MSYSTEM=UCRT64 CHERE_INVOKING=1 /usr/bin/bash -li
    若要使用msys2提供的不同的工具,修改上面命令中的MSYSTEM变量。
    在文件夹下使用右键打开msys2,echo $PATH,如果 /ucrt64/bin 在其中则说明当前打开的是ucrt64环境,环境相关参考https://www.msys2.org/docs/environments/。

msys2使用pacman作为包管理器,使用如下命令统计各环境包的数量。
pacman -Sl | awk '{cnt[$1]+=1;}END{for(i in cnt){printf("%-12s%s\n", i, cnt[i]);}}'

使用pacman安装gcc、gdb、vim等软件,pacman -Ss vim查询,pacman -S vim安装。确认使用的环境,安装对应环境的包,包名前有环境名的前缀。

将根据使用的环境将运行目录添加到系统路径中,不是添加到用户路径中。
C:\msys64\usr\bin
C:\msys64\ucrt64\bin\

重启计算机后再配置vs code
参考以下链接配置环境。
https://code.visualstudio.com/docs/cpp/config-mingw
vs code中ctrl+shift+p搜索C++,打开ui配置,编译器路径在下拉列表中选中C:/msys64/ucrt64/bin/g++.exe。

单步调试退出main函数时如果报错 crtexe.c 相关问题,参考https://stackoverflow.com/questions/62724979/issue-when-debugging-with-gdb-after-compiling-with-the-msys2-mingw-w64-gcc-crte,使用strip -d C:\msys64\mingw64\x86_64-w64-mingw32\lib\crt2.o命令去掉调试信息。

标签:bin,msys2,vscode,pacman,C++,msys64,https,ucrt64
From: https://www.cnblogs.com/xunxunxun/p/18665516

相关文章

  • 【小白向超详细】使用 VSCode 远程连接 Linux 服务器详细教程
    使用VSCode远程连接Linux服务器详细教程前提条件已安装VSCode。已在VSCode中安装Remote-SSH插件。目标Linux服务器开启了SSH服务,并可以通过SSH访问。本地电脑已安装SSH客户端(Linux和macOS自带,Windows用户可以安装OpenSSH)。一、安装Remote-S......
  • C/C++新春烟花
    系列文章序号直达链接1C/C++爱心代码2C/C++跳动的爱心3C/C++李峋同款跳动的爱心代码4C/C++满屏飘字表白代码5C/C++大雪纷飞代码6C/C++烟花代码7C/C++黑客帝国同款字母雨8C/C++樱花树代码9C/C++奥特曼代码10C/C++精美圣诞树11C/C++俄罗斯方块小游戏12C/C++贪吃蛇小游戏13C/C++......
  • c++ imu
      #include<iostream>#include<cmath>#include<chrono>#include<thread>#include<random>//Simplehelper:wrapsangleto[-pi,pi]doublewrapToPi(doubleangle){while(angle>M_PI){angle-=2.0*......
  • 【华为OD技术面试手撕真题】- C++手撕技术面试八股文(1)
    文章目录一、delete和delete[]的区别二、const解释一下其作用1.定义常量2.修饰指针3.修饰函数参数4.修饰类成员函数三、struct和class的区别1.默认访问控制2.继承的默认访问控制四、#include<file.h>#include"file.h"的区别五、C++文件......
  • C++语言的学习路线
    C++语言的学习路线C++是一种强大的高级编程语言,广泛应用于系统软件、游戏开发、嵌入式系统和高性能应用等多个领域。由于其丰富的功能和灵活性,C++是一门值得深入学习的语言。本文旨在为初学者制定一条系统的学习路线,帮助他们循序渐进地掌握C++语言。第一阶段:基础知识1.......
  • 1.10日学习笔记之C++的类
    ·类其实就是一种数据类型,和结构相似。类的成员包括两类,属性(成员变量)和行为(成员函数)。·成员函数定义的两种方法(可能有多种,觉得这两种比较常用)1、将类的成员函数定义在类体内,如classCPerson{public:shortage;shortgetage(){returnage;}};2、将......
  • 【C++】穿越编程岁月,细品C++进化轨迹,深化入门基石(续章)——揭秘函数缺省参数的魅力、函
    文章目录一、函数缺省参数二、函数重载三、引用1.引用的概念和定义2.引用的特性3.引用的使用4.const引用5.指针和引用的关系四、inline内联函数和nullptr1.inline2.nullptr一、函数缺省参数   缺省参数其实就是默认参数,它是声明或定义函数时为函数的参数指定......
  • 【C++】揭开C++类与对象的神秘面纱(首卷)(类的基础操作详解、实例化艺术及this指针的深
    文章目录一、类的定义1.类定义格式2.类访问限定符3.类域二、类的实例化1.实例化概念2.对象的大小三、隐藏的this指针与相关练习1.this指针的引入与介绍练习1练习2练习3一、类的定义1.类定义格式   在讲解类的作用之前,我们来看看类是如何定义的,在C++中,class......
  • Qt C++学习笔记1.7
    1.7Qt入门:实现一个图片查看软件需要用到的控件:QLabelQLineEditQPushButton需要实现的功能:打开目录选择图片显示图片的名字显示图片QLabel基本用法设置文本voidsetText(constQString&);获取文本QStringtext()const;设置图片voidsetPixmap(constQPixm......
  • C++并发编程之基于锁的数据结构的适用场合与需要考虑和注意的问题
    在C++多线程编程中,锁是一种常用的同步机制,用于保护共享数据,防止多个线程同时访问和修改,从而避免数据不一致或其他并发问题。基于锁的数据结构适用于多种并发编程场合,但同时也需要注意一些关键问题。1. 适用的并发编程场合锁在以下几种场合特别有用:1.1 保护共享数据当多个......