十大免费建站程序wordpress,琪歌 wordpress,现在去长沙会被隔离吗,有什么网站做可以国外的生意文章目录 前言下载gcc下载依赖项下载其他依赖项 configure选项--enable-languagesCXX和CXX_FOR_TARGETCFLAGS和CXXFLAGS--with-build-time-tools 使用小结 前言
前一阵用qemu做了个基于virt板卡的虚拟机#xff0c;在不断完善#xff0c;这两天想添加一个gcc进去#xff0c… 文章目录 前言下载gcc下载依赖项下载其他依赖项 configure选项--enable-languagesCXX和CXX_FOR_TARGETCFLAGS和CXXFLAGS--with-build-time-tools 使用小结 前言
前一阵用qemu做了个基于virt板卡的虚拟机在不断完善这两天想添加一个gcc进去于是编译了一下gcc 环境ubuntu22.04 交叉编译工具链是通过ct-ng制作的详情参考制作 交叉编译工具链 gcc版本7.5
下载
gcc下载
我要编gcc-7.5 https://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.5.0/
依赖项下载
gcc有几项和数学相关的编译依赖 gmphttps://gmplib.org/#DOWNLOAD mpfrhttps://www.mpfr.org/mpfr-current/#download mpchttps://www.multiprecision.org/mpc/download.html 这里说明下如果编译x86的话编译器能找到apt安装的这些包但交叉编译用交叉编译找不到
当然自己把这些包下载下来编译好然后用–with-gmp这些选项指定路径 但没必要
直接下载到gcc源码的路径下然后解压重命名成gmp mpfr mpc文件夹编gcc的时候他自己会顺带编译 ↑信息来源于configure报错所以说一点英语不会是真不行
其他依赖项
都编gcc了其他依赖项肯定能搞定了
configure选项
../configure --prefix/data/gcc \
--buildx86_64-linux-gnu --hostaarch64-kirin7-linux-gnu \--with-build-time-tools/home/arco/x-tools/aarch64-kirin7-linux-gnu/bin \CCaarch64-kirin7-linux-gnu-gcc CC_FOR_TARGETaarch64-kirin7-linux-gnu-gcc \LDaarch64-kirin7-linux-gnu-ld LD_FOR_TARGETaarch64-kirin7-linux-gnu-ld \CXXaarch64-kirin7-linux-gnu-g CXX_FOR_TARGETaarch64-kirin7-linux-gnu-g \--enable-languagesc,c \CFLAGS-g -O2 -Wno-error -s CXXFLAGS-g -O2 -Wno-error -s这是我配过最长的configure 下面是为啥要这么配的说明
–enable-languages
这个选项就离谱configure --help里没写 我百度搜了才知道有这么个选项 --enable-languagesc,c编译c和c的编译器其他的不编浪费时间、也未必编的出来CXX和CXX_FOR_TARGET
报错error adding symbols: file in wrong format 很明显他想用x86的链接器去链我aarch64架构的文件 CFLAGS和CXXFLAGS -g -O2是本来就有的需要加-Wno-error让他不要把警告视为错误-s是我要剥离符号不然太大了 –with-build-time-tools --with-build-time-tools/home/arco/x-tools/aarch64-kirin7-linux-gnu/bin表面上看起来像是指定编译时使用工具的位置但实际上似乎啥用也没有如果不放心就加上吧 我没再试了编一次要不少时间呢 使用
编完了gcc拉到我的aarch64虚拟机上去用 报错说没as … 好吧as是binutils例的又编了binutils弄到环境上就可以使用gcc了
小结
我的交叉编译工具链的gcc版本是7.5编gcc7.5成功了编9.5失败了 原因不想看
所以如果要编更高版本的gcc就去用更高版本的gcc编吧