1 下载
1.1下载MSYS2工具
MSYS2
1.2 下载gmp
The GNU MP Bignum Library
2 使用windows的msys2命令窗口,有三个msys2命名窗口 mingw64
3
4 命令
pacman -Syu
重启:
pacman -Su
安装:
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-libtool
pacman -S autoconf
pacman -S automake
pacman -S mingw-w64-x86_64-python3
5 在msys2命令行中切换到 gmp解压缩的文件夹中
cd /d/install/gmp
6 注意这个文件夹中有 cxx 子文件夹
./configure --enable-cxx
make
make check
make install
7 vs 项目属性 ->vc++目录 ->
7.1 包含目录
D:\install\gmp
gmp.h文件在gmp解压的文件夹中所以直接用这个路径,也就是gmp.h文件在哪填哪个
7.2 库目录
D:\install\gmp\.libs
make编译完后有一个 .libs的文件夹
7.3 链接器 输入 附加依赖项
libgmp.dll.a
libgmpxx.dll.a
每行一个 回车换行
8 系统缺失libgmp-10.dll
在gmp解压文件中 搜索 libgmp-10.dll
将此文件复制到:C:/Windows\System32 这个文件夹里面
9 参考
https://blog.csdn.net/wangmumutwo/article/details/88919513
10 测试代码
#include<gmp.h>
#include<stdio.h>
void foo(mpz_t result, const mpz_t param, unsigned long n) {
unsigned long i; mpz_mul_ui(result, param, n);
for (i = 1; i < n; i++)
mpz_add_ui(result, result, i * 7);
}
int main() {
mpz_t r, n;
mpz_init(r);
mpz_init_set_str(n, "123456", 0);
foo(r, n, 20L);
gmp_printf("%Zd\n", r);
return 0;
}