在编译mpc-1.0.3时出现mpfr_fmma类型冲突错误,错误信息如下图:
编译mpc需要依赖GMP和MPFR,首先确保mpc-1.0.3要求的这两个库版本没有问题。要求的GMP和MPFR版本如下图:
如下图红框所示,要求安装的依赖版本均满足要求,说明依赖是不存在问题的。
根据错误信息,找到包含的头文件该函数的声明如下:
再看看该函数再mul.c文件的声明,如下:
两处声明不一致(仅仅函数名相同)。C不支持函数重载,因此报错,很正常。
要如何解决?
我们看看mpfr_fmma在mpc-1.0.3哪些地方用到了,然后再来更改。
从上图可以看出,只有3处地方用到了,果断更改过来。如何更改,只需要将函数名更改成与mpfr_fmma不同就可以了。为方便起见,再加上该函数是static函数,也就是只本文件用到,因此直接改成mpfr_fmma_for_mpc。重新编译,错误消失,问题得到解决。
mpc-1.0.3编译mpfr_fmma类型冲突错误
最新推荐文章于 2023-12-26 16:03:36 发布