【C++】统计代码覆盖率(四) - 补充
补充如下内容:
配置 GCC 环境 支持 C++ 11 regex代码编译
更换一种 (二) 中 修改编译脚本方式 使用 scons 提供的 SConstruct 编译
一 centos 安装devtoolset-3
该篇幅转自:http://www.openskill.cn/article/372
背景:由于gcc 4.8.2不支持C++11的regex库,故需升到4.9.2。
1 cat /etc/issue,确认服务器 CeotOS 是哪个系列
centos6系列 # wget https://www.softwarecollections.org/repos/rhscl/devtoolset-3/epel-6-x86_64/noarch/rhscl-devtoolset-3-epel-6-x86_64-1-2.noarch.rpm # rpm -ivh rhscl-devtoolset-3-epel-6-x86_64-1-2.noarch.rpm # wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo && mv ./*.repo /etc/yum.repos.d/ centos7系统 # wget https://www.softwarecollections.org/repos/rhscl/devtoolset-3/epel-7-x86_64/noarch/rhscl-devtoolset-3-epel-7-x86_64-1-2.noarch.rpm # rpm -ivh rhscl-devtoolset-3-epel-7-x86_64-1-2.noarch.rpm
2 安装命令如下
yum --disablerepo=‘*‘ --enablerepo=‘rhscl-devtoolset-3‘ install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-toolchain -y# 如果报错见 报错与解决 部分
3 启用该版本GCC
scl enable devtoolset-3 #类似于python虚拟环境,不影响其他版本使用者 gcc -v
4 替换编译文件变量
# export CC=/opt/rh/devtoolset-3/root/usr/bin/gcc # export CPP=/opt/rh/devtoolset-3/root/usr/bin/cpp # export CXX=/opt/rh/devtoolset-3/root/usr/bin/c++
5 问题与解决
①在步骤2安装中,报错:
[/opt/xiaoming/workspace/src]$ yum --disablerepo=‘*‘ --enablerepo=‘rhscl-devtoolset-3‘ install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-toolchain -y
Loaded plugins: fastestmirror, security
Error getting repository data for rhscl-devtoolset-3, repository not found
原因:不知道,没查
解决:替换安装命令为 yum install devtoolset-3-toolchain 、yum install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++ 均可?
②本次应用使用 scons 命令编译代码,该命令可执行的条件 a python 命令可执行; b 安装 scons 工具
wget http://prdownloads.sourceforge.net/scons/scons-2.1.0.alpha.20101125.tar.gz
1