【C++】统计代码覆盖率(四) - 补充

补充如下内容:

  1. 配置 GCC 环境 支持 C++ 11 regex代码编译

  2. 更换一种 (二) 中 修改编译脚本方式 使用 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

相关推荐