gcc源码编译

编译是基于msys2平台,使用的源码是gcc-7.3.0-1.src.tar.gz

解压后执行 makepkg --skippgpcheck会报错,提示缺少依赖,根据错误提升安装相关依赖

pacman -S mpc-devel gmp-devel mpfr-devel isl-devel

出现找不到cmp的命令需要安装diffutils:

 pacman -S diffutils

继续执行makepkg --skippgpcheck,接下来基本不会出现什么难解决的错误,基本上是提示缺少什么包就安装什么包。

有时候重新开始会出现一些奇怪的问题,这是因为编译目录里残留着上次编译的一些文件,把促使解压目录下的src文件夹删掉重新来一次就好了。

我编译时还出现无法将’gcc’ 移动至’stage1-gcc’: Permission denied,这个可能是开了多个sh和make进程,多核兼容上的问题导致gcc目录被占着从而无法重命名,目前还没有解决方案,其他2台电脑是好的,现在碰到只能重装电脑了。
(我试了很多次都是这个问题,最后一次我修改PKGBUILD把调试符号打开支持debug竟然成功了,不确定是不是一定能解决)
在这里插入图片描述

gcc的入口函数在gcc.c和gcc-main.c里,为了测试下,在gcc.c文件里添加一行打印
在这里插入图片描述
在gcc-7.3.0-1.src\gcc\src\build-i686\gcc或stage1-gcc重新编译
make xgcc.exe
编译好后执行cc
./xgcc.exe -v
在这里插入图片描述
可以看到最后的执行结果符合预期

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值