【C++学习笔记】C++编程环境配置

g++gcc之间是否有依赖关系

g++gcc之间没有依赖关系,两者分别对应面向C++和C语言的编译程序,关于gccg++的区别,请参考知乎回答《gcc和g++是什么关系? ——gcc 和 g++ 的区别》

1 编译器安装

1.1 Ubuntu:官方源提供gcc和g++预编译版本

Ubuntu-20.04官方源中目前最高提供了 gcc-11的安装包;

Note
我们尝试在Ubuntu-20.04上执行命令安装 gcc-12:

sudo apt install gcc-12 g++-12

不过报错:
E: 无法定位软件包 gcc-12
E: 无法定位软件包 g++-12
所以目前我们准备在 Ubuntu-20.04使用gcc-11。

查询Ubuntu默认使用的gcc版本

cat /proc/version

示例结果:
Linux version 5.4.0-128-generic (buildd@lcy02-amd64-017) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)) #144-Ubuntu SMP Tue Sep 20 11:00:04 UTC 2022
这里可以看到当前系统默认使用的gcc版本是9.4.0。

查看已经安装gcc&g++的文件目录

查看gcc版本

ls /usr/bin/gcc*

查看g++版本

ls /usr/bin/g++*

设置gcc&g++版本优先级

Gcc
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 30
G++
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 30

查看运行时gcc&g++版本

Gcc
gcc --version
G++
g++ --version

Note
这里我们在终端查询版本时,没有使用简化命令gcc | g++ -v,这是因为使用g++ -v查询g++版本时,输出信息中会包含gcc的字样,看起来有些迷惑,并且输出信息较多显得有些复杂,为了查询结果的直观感受,这里我们统一使用gcc | g++ --version

使用C++输出编译器版本号

cout << __VERSION__ << endl;

1.2 Windows环境配置:MSYS2

环境管理工具:MSYS2
编程IDE:VSCode
关于在Windows上基于VSCode配置C++编程环境,请参考《C/C++ for Visual Studio Code》

1.2.1 基础知识

MinGW:Windows 平台的GCC

MinGW(Minimalist GNU for Windows)是Windows平台下的编译器,它是由 GCC(GNU Compiler Collection)移植到 Windows 平台的版本。

MSYS2 UCRT64:MSYS2默认的通用C运行时

在这里插入图片描述
因为是默认的运行时环境,所以我们一般都用这个运行时来安装运行库;

1.2.2 MSYS2使用

升级MSYS2
pacman -Suy

1.2.3 Win C 编译工具安装设置

在这里插入图片描述
在这里插入图片描述

1.3 Troubleshooting

(1)Windows运行出现错误:Unable to start debugging.Unexpected GDB output from command … local\***中文路径***\program: No such file or directory

我们在开始学习使用VSCode编程时,遇到了这样的一个问题:
在这里插入图片描述

解决方案
  1. 程序路径中存在中文字符使得gdb无法正常调试:
    将程序路径中的中文修改为英文。

(2)Windows上使用PlantUML插件预览时预览窗出现空白

我们在VSCode上使用PlantUML插件预览puml图形时,发现预览窗出现空白;

解决方案

因为主机的Win系统上没有安装Java环境(java -version无法正常输出版本号);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值