您的位置:首页 > 运维架构 > Linux

centos安装devtoolset-3支持gcc 4.9.2

2015-08-20 00:00 1321 查看
摘要: centos安装devtoolset-3支持gcc 4.9.2从而支持C++11的regex

由于gcc 4.8.2不支持C++11的regex库,故需升到4.9.2

首先加载源,导入rpm
#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

#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

接下来开始下载安装

yum install devtoolset-3-toolchain

安装完毕后可通过

scl enable devtoolset-3 bash

启用开发环境
通过gcc -v确认


简单的测试例子

#include <string>
#include <regex>
#include <stdio.h>

int main() {
std::string r("(0x[\\dA-Fa-f]+)");
std::regex pattern(r);

std::match_results<std::string::const_iterator> result;
std::string source = "0x123fd";
bool valid = std::regex_match(source, result, pattern);
if (!valid) {
printf("no vaild");
return 0;
}

printf("match result is %s", result[1].str().c_str());
return 0;
}

保存成test.cpp
生成

g++ -o test test.cpp -std=c++11

运行

./test

打印出

match result is 0x123fd

可正常运行C++11的正则库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息