

# 配置cmake gcc clang 环境

## cmake

### 安装

*如下地址选择需要的版本下载并解压cmake文件*

[Download | CMake](https://cmake.org/download/)

### 环境变量配置

*编辑~/.bashrc 文件，在文件的末尾添加内容*

```shell
gedit ~/.bashrc
```

*添加的内容*

```shell
# CMAKE_HOME后面的路径为下载解压后的cmake的bin路径
export CMAKE_HOME=/home/sdu/sxq/tools/cmake-3.18.4-Linux-x86_64/bin
export PATH=$CMAKE_HOME:$PATH
```

## GCC

### 安装

安装其他版本的gcc，其中7为版本号

```shell
sudo apt-get install -y gcc-7 g++-7
```

查看已安装的版本

```sh
ls /usr/bin/gcc*
```

版本切换

```shell
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --config gcc
```
## clang
### 安装
```shell
sudo apt update
sudo apt install clang-12     #12 为clang 版本
```
*如果想要下载更新的版本，按照如下网址操作*
https://apt.llvm.org/
Ubuntu 16 可以在 /etc/apt/sources.list文件中添加以下内容 之后可以通过apt 安装   
```
deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-12 main
# xenial 为Ubuntu 版本名称 12 为clang 版本  Ubuntu 16最高支持到clang 12
```
### 环境配置

*设置clang 12 为默认clang编译器*

```shell
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 80 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-12
# 80为优先级 12 为clang 版本  当存在多个clang 版本时以优先级最大的为默认clang 编译器
```
### 将默认编译器从gcc改为clang
*编辑~/.bashrc文件，在最后一行添加以下内容
```shell
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
```



