编译错误 gcc: error trying to exec ‘cc1plus‘: execvp: no such file or directory 解决,gcc、g++ 指定版本安装及切换

编译 C++ 代码时出现 gcc: error trying to exec ‘cc1plus’: execvp: no such file or directory 的错误,问题的原因可能是因为没有安装 g++,或是已安装的 gcc 和 g++ 版本号不一致不兼容导致。若不一致,安装同一个版本的 gcc 和 g++。

检查 gcc、g++ 版本:

gcc -v

g++ -v

查看目前存在的 gcc、g++ 版本:

ls /usr/bin/gcc*

ls /usr/bin/g++*

如果需要安装较低版本,由于源可能缺少旧版本的gcc、g++,如gcc6,gcc5,需要首先导入指定版本的清华源,然后在update更新源,这样即可用apt命令安装。

例如gcc 4.8版本:sudo apt-get install gcc-4.8

笔者gcc是12.3版本,g++则是11版本。二者不匹配,故运行:

sudo apt install gcc-12 g++-12

更改gcc、g++优先级,重新进行软链接

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100

验证当前gcc、g++版本是否切换成功

gcc --version

g++ --version

猜你喜欢

转载自blog.csdn.net/coco_1998_2/article/details/139144701