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

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

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

1 Ubuntu环境配置

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》

升级MSYS2

pacman -Suy

1.3 Troubleshooting

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

我们在开始学习使用VSCode编程时,遇到了这样的一个问题:
【C++学习笔记】C++编程环境配置_第1张图片

解决方案

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

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

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

解决方案

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

你可能感兴趣的:(c++,学习,ubuntu)