Ubuntu 下判断 cmake 用的 gcc 还是 g++,如何切换版本

Ubuntu 下怎么知道 cmake 用的 gcc 还是 g++

在Ubuntu上,可以通过`cmake`命令行选项`-DCMAKE_CXX_COMPILER`来指定C++编译器,而默认情况下,`cmake`将使用系统的默认编译器。

要查看`cmake`使用的默认C++编译器,可以使用以下命令:

cmake --system-information | grep CXX_COMPILER

这将输出类似于以下内容的行:

CMAKE_CXX_COMPILER: /usr/bin/c++

其中`/usr/bin/c++`是`cmake`使用的默认C++编译器的路径。要查看这个编译器是GCC还是G++,可以运行以下命令:

readlink -f $(which c++)

如果输出结果中包含`g++`,则表示默认的C++编译器是G++。如果输出结果中包含`gcc`,则表示默认的C++编译器是GCC。

 

可以同时安装多个g++版本吗?

是的,可以在Ubuntu上同时安装多个g++版本。这可以通过安装不同版本的g++包来实现。

首先,您需要添加ppa源以获取支持不同版本的g++的软件包。打开终端并输入以下命令:

 

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update

然后,您可以使用以下命令来安装不同版本的g++:

`sudo apt install g++-X.Y`

其中`X.Y`是您要安装的g++版本号。例如,要安装g++ 8.4和g++ 9.4,您可以运行以下命令:

`sudo apt install g++-8 g++-9`

安装后,您可以使用以下命令来检查已安装的g++版本:

 

ls /usr/bin/g++*

这将列出所有已安装的g++版本。您可以使用以下命令来切换默认g++版本:

 

sudo update-alternatives --config g++

该命令将列出所有可用的g++版本,然后您可以选择要使用的默认版本。

请注意,使用不同版本的g++时可能需要更新您的CMake文件或Makefile以选择正确的g++版本。


# 设置gcc优先级,最后的数字代表优先程度,数值越大,优先程度越高,可自行调整各版本的优先级:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90


# 设置g++优先级:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90

# 查看gcc各版本优先级,可以手动调整默认版本
sudo update-alternatives --config gcc


# 查看g++各版本优先级
sudo update-alternatives --config g++

检查默认gcc/g++版本,使用如下命令
gcc -v
g++ --version

posted on 2023-05-06 11:04  空明流光  阅读(1306)  评论(0编辑  收藏  举报

导航