编译器不同导致make报错

        这其实是第一篇博客, 由于刚开通后不能马上发布,所以就拖成了第二篇,补上吧~

        【2012-10-11】今天受到佳伟同学的启发,我也决定开始写博客记录自己coding过程中各种苦逼的被虐经历,一来可以总结过去,作为自己和他人的前车之鉴;二来可以与更多的大牛小牛交流,大家共同进步。后知后觉啊,希望可以坚持下去~

        今天准备把最近在公司机群上的一个改好的程序放到gz的大系统上去跑,本想着就是把程序重新编译一下嘛,能有啥问题,亘古不变的三步走不就搞定啦。结果当我走到make时就走不动了,报出一大堆莫名其妙的错误,我仔细看了一下,不是我改动的地方报错,是程序原有的看似平淡无奇的一些基本语句,心里有了点底,心想应该不是我改动的问题。于是按图索骥找报错的原因,有很多的remark,应该类似warning吧,但没有错误;主要的是有几个assert处报了error,这在之前的编译过程中是没有出现的。我想应该是编译器的问题,但不知如何解决,于是请教贵鑫同学,贵鑫同学虽然平时不多说话非常腼腆,但可是有着非常丰富的实战经验(也就是苦逼的被虐经历)。果然,贵鑫说他遇到过这个问题,是因为gz和公司的节点上,MPI的编译器不同,gz节点上MPI的编译器封装的是intel的icpc编译器,公司这边封装的是gcc编译器,这是在MPI环境安装时决定的。好像是由于icpc编译器在编译时默认会把warning当做error,所以出现了莫名其妙的报错。解决方法是要把-Werror的编译选项去掉,最直观的方法当然是修改每个Makefile,但这样太麻烦而且容易遗漏,在贵鑫的指导下,我找到了产生这个选项的源头------configure.ac文件,只把configure.ac中的-Werror选项去掉,然后重新三步走,发现有warning但不会报错,搞定~哈哈~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值