使用msys32+i686-w64-mingw32编译mpfr

本文解决了在编译mpfr时遇到的mingwmpfrgcc.exe:fatalerror:noinputfiles错误。通过修改makefile中-DLT_OBJDIR参数的引用方式,从.libs/更改为.libs/,成功克服了这一挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近闲来无事,想学习一些高精度计算的东西,因此编译了gmp,过程很顺利,但是编译mpfr时,却遇到错误:

mingw mpfr gcc.exe: fatal error: no input files

在Stack Overflow上找到一篇文章(https://stackoverflow.com/questions/53623067/why-does-gcc-mingw-w64-return-a-fatal-error-no-input-files-when-building-mp),其中描述的问题和我碰到的差不多。里面提到了出错的直接原因是输入给libtool的参数发生错误,但没有给出解决方案。

经过我的测试,确定使用msys32+i686-w64-mingw32时,通过make向调用的程序传参数时,如果是形如 \"abc\" 的文本,就会被转成  \abc" 这样的错误文本。但通过实验,其实并不需要对引号进行转义,可以直接使用 “.abc” 。因此解决方案就是修改makefile中的 -DLT_OBJDIR=\".libs/\" 为 -DLT_OBJDIR=".libs/",修改后就可以成功编译并通过测试。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值