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