在 64 位 Windows 7 (msys2/mingw64) 上构建 GMP 6.1.0:由于 mp_limb_t 不是 64 位,配置失败
Building GMP 6.1.0 on 64 bit Windows 7 (msys2/mingw64): configure fails due to mp_limb_t is not 64 bits
我尝试在我的 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。
这可以通过在配置命令中添加 --host=x86_64-w64-mingw32
来解决。通常建议构建使用 Autotools 或某种形式的 Windows 64 位配置脚本的软件。
您可以阅读 this page on the MinGW-w64 wiki 以了解有关这些内容的更多信息。
我尝试在我的 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。
这可以通过在配置命令中添加 --host=x86_64-w64-mingw32
来解决。通常建议构建使用 Autotools 或某种形式的 Windows 64 位配置脚本的软件。
您可以阅读 this page on the MinGW-w64 wiki 以了解有关这些内容的更多信息。