在64位Windows 7(msys2 / mingw64)上构建GMP 6.1.0:由于mp_limb_t不是64位

时间:2015-11-23 13:36:15

标签: c++ windows 64-bit gmp msys2

我尝试在Windows 7 64位计算机上构建GMP,因此我运行config.guess并获取k10-pc-msys。 (我使用msys2和mingw64)

然后我跑了

./configure --prefix=/c/gmp-6.1.0 --build=k10-pc-msys --enable-cxx

但这退出了这个错误

checking size of mp_limb_t... 4
configure: error: Oops, mp_limb_t is 32 bits, but the assembler code
in this configuration expects 64 bits.

所以我再次使用额外的ABI=64运行配置(想要强制mp_limb_t为64位),但这会以相同的错误结束。在此之后,我尝试添加CC="g++"(思考--enable-cxx需要g++),但我再次收到此错误。

我搜索了很多关于此问题并发现向juliaLang on GitHub报告的一个问题看起来与我的问题很接近,但解决方案似乎对我不起作用,因为我没有使用Julia。

有没有人知道这个错误并找到了修复它的方法?

注意:我看到msys2已经安装,我可以使用它。但是我的程序的运行时间仅增加了大约70%,只是从msys2安装了GMP构建NTL。我认为这是因为它不是为我的电脑构建的,所以它根本没有优化。

修改:即使没有任何设置(仅./configure --prefix=/c/gmp-6.1.0)也会退出并出现相同的错误。

背景:我想使用NTL的线程安全版本。但要构建NTL线程安全,我必须使用GMP。

0 个答案:

没有答案