GCC多版本支持用户指南
简介
为了保障操作系统的稳定性,一般在进行基础软件选型时不会选用最新的版本,而是倾向于使用相对稳定的版本,因此当前 openEuler 20.03 LTS 使用 GCC 7.3.0 作为基线进行开发。然而 GCC 7.3.0 无法支持 ARM v8.6 等新硬件特性。为了支持 ARM 新特性,设计双版本 GCC,对于需要使用 ARM v8.6 以上新特性的应用,可以使用多版本编译器 gcc-10 来支持编译构建。
安装与部署
软件要求
操作系统:openEuler 20.03 LTS SP4
硬件要求
aarch64架构
安装软件
为了和默认 GCC 安装做出区分,防止多版本GCC的安装和默认 GCC 的安装依赖库冲突,gcc-10 的多版本软件包名以“gcc-toolset-10-”为前缀,后面接上原有 GCC 软件包名。
默认编译器 gcc-7.3.1,安装路径为/usr
:
yum install -y gcc gcc-c++
多版本编译器 gcc-10,安装路径为 /opt/openEuler/gcc-toolset-10/root/usr/
:
yum install -y gcc-toolset-10-gcc*
使用方法
gcc-10 多版本软件包安装在/opt/openEuler/gcc-toolset-10/root/usr/下,因此可使用如下命令使用软件包:
export PATH=/opt/openEuler/gcc-toolset-10/root/usr/bin/:$PATH
export LD_LIBRARY_PATH=/opt/openEuler/gcc-toolset-10/root/usr/lib64/:$LD_LIBRARY_PATH
注意:多版本编译器 gcc-10 仅支持 ARM v8.6 以上的新硬件特性,其他特性建议使用默认 gcc-7.3.1 防止发生未知编译错误。
兼容性说明
此节主要列出当前一些特殊场景下的兼容性问题。本项目持续迭代中,会尽快进行修复,也欢迎广大开发者加入。
当前 GCC 多版本方案仅适配 ARM v8.6 新特性,仅支持 aarch64 架构。