问题
在centos7上编译leveldb时需要使用googletest,由于自带的gcc是4.8版本,没法通过编译(不支持c++11中的一些新特性),因此需要升级gcc。
解决
通过百度查询升级命令并正确安装。
$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7-gcc*
$ scl enable devtoolset-7 bash
$ which gcc
$ gcc --version
但是依然编译不过,查看cmake输出信息,发现cmake依然使用的4.8版本。通过echo $PATH,发现依然使用的是gcc-4.8,因此需要将gcc-7加入PATH。
# 修改 ~/.bashrc
export PATH=/opt/rh/devtoolset-7/root/usr/bin:$PATH
source ~/.bashrc
可以看到PATH中已经存在最新的gcc并位于第一个,leveldb编译通过