因为某些软件需要高版本的gcc,可以按照需求升级到gcc4.6或者gcc4.8 一、编码编译安装gcc4.6 1、查看当前操作系统版本 [root@master ~]# gcc --version gcc 二、源码编译安装gcc4.8 1、下载gcc-4.8.2.tar.bz2 [root@master ~]# wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2
对于新的语言特性的使用是个比较大的障碍, 目前工作室打算在研未上线项目逐步向TencentOS3进行迁移, TencentOS3自带的GCC版本是8.3, 该版本已经比较完整的支持了C++17的特性, 而我们原来的代码大多是基于GCC4.8 多GCC版本导致的ABI兼容问题 需要特别注意的是ABI兼容的问题, 有部分库我们可能是直接使用的第三方的, 没有源码, 那么可能对应库依然是使用GCC4.8编译的, 默认开启C++11后GCC会同样更改应用程序的 与老的库不兼容, 产生的报错如下图所示: image.png 临时的解决方案是在编译的时候添加宏-D_GLIBCXX_USE_CXX11_ABI=0, 禁止编译器使用新的ABI格式, 这样就能与老的GCC4.8
/aa.cpp 源码编译安装c++11编译环境 因为yum自带的gcc版本过低,并且c++11需要gcc4.8以上版本支持,因此需要下载gcc4.8以上版本以支持c++11 查看本地gcc版本 g++
另一个是gcc-c++,这个其实就是centos7的gcc4.8版本。这样镜像包根据线下cicd环境centos7镜像包加入这些必须包和gcc4.8开发环境。
虽然按照这些教程我成功地安装好了vcs,但是在编译的时候还是遇到了一些问题 提示"recompile with -fPIC" 这个问题折磨了我很久,最后google了一下发现是因为gcc的版本不对,我的是7.5,需要gcc4.8
bin/c++ /usr/bin/c++ ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++ gcc --version 然后就可以使用,gcc4.8
本来看到Android的ndk都开始用gcc4.8和gcc4.9了,而且gcc4.8.1开始支持全部的c++11的特性,我就很happy地用上了。结果出现这么个错误。
版本设置优先级 1.首先查看当前系统装了几个GCC版本: ls /usr/bin/gcc* ls /usr/bin/g++* 2.给GCC各版本设置优先级,最后设置的数字越小,优先级越高,下面设置是GCC4.8
本来看到Android的ndk都开始用gcc4.8和gcc4.9了,而且gcc4.8.1开始支持全部的c++11的特性,我就很happy地用上了。结果出现这么个错误。
Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源码包 PS:
最后安装theos等开放的ios开发工具链 安装gcc-4.8如前文所述install gcc4.8 on ubuntu 12.04 安装llvm,clang /etc/apt/sources.list
1、TensorRT是什么 TensorRT目前基于gcc4.8而写成,其独立于任何深度学习框架。
watchman: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by watchman) 我已经升级了GCC4.8
Linux 编译安装 GCC 4.8 详见: Linux 编译安装 GCC 4.8 GCC4.8发布啦,这个脚本在之前4.7的基础上做了点改进,移除一些过时的组件,增加了检测不到时自动下载源码包 PS:
10.3.1 [root@FelixZh mySourceCode]# ninja-build --version 1.10.2 环境准备(高级) 如果你的操作系统(如CentOS)自带编译工具版本过低,如gcc4.8
问题二: 要升级gcc(PS:升级失败),会不会gcc4.9比gcc4.8的libstdc++.so.6文件版本高。先下载libstdc++看看。
2,下载安装相关的组件: 不同的项目需要的编译工具,以我们项目为例: 我们需要gcc4.8,所以: sudp apt install gcc-4.8 sudp apt install g++-4.8
<<endl; cout<<"outPath:"<<outPath<<endl; return 0; } 编译: g++ -std=c++11 run.cpp -o myapp 用的gcc4.8
NRTSP PlayerYRTSP PusherYRTMP PlayerYRTMP PusherYHTTP[S]YWebSocket[S]Y 后续任务 完善支持H265 编译要求 编译器支持C++11,GCC4.8
GCC8.2(可选) 由于用来测试的猎人3D服务器使用了部分C++14的特性, CentOS对应的GCC版本使用的是8.2(实测如果C++代码没有使用新特性, GCC4.8也能与VS良好的协同工作).