安装gmp-6.1.2库
原创
M.Y.
修改
于
2021-07-07 11:22:19
修改
于
2021-07-07 11:22:19
- 下载 gmp 6.1.2版本
- 解压gmp-6.1.2.tar.xz && 进入gmp-6.1.2文件夹
xz -d gmp-6.1.2.tar.xz
tar -xvf gmp-6.1.2.tar.xz
cd gmp-6.1.2
- 编译并安装(新建文件夹并使用--prefix=/path_to_install安装的话,在卸载时只要删除该文件夹,不用担心删不干净)【 参考 】
./configure --enable-cxx --prefix=/path_to_install --build=x86_64-linux
# --enable-cxx: 配置GMP时,默认情况下不启用C++支持。解压缩该软件包,并使用以下命令进行配置:./configure --prefix=/usr/local --enable-cxx-这还将安装gmpxx.h header 以及libgmpxx.dylib和/或libgmpxx.a库
# --prefix=/path_to_install 默认路径为/user/local,如果路径为根目录,后续make install时应该用sudo
# 对于我的环境,不加--build=x86_64-linux的话Host type是broadwell-pc-linux-gnu,暂未发现问题
make check
sudo make install
- 如果安装到了--prefix=/path_to_install,由于提示库文件存放的位置为/path_to_install/lib,因此需要在~/.bashrc中添加
export LD_LIBRARY_PATH=/path_to_install/lib:$LD_LIBRARY_PATH
- 测试“gmpxx.h”是否安装成功【 参考 】
#include <iostream>
#include <gmpxx.h>
using namespace std;
int main()
mpz_t a,b,c;
mpz_init(a);
mpz_init(b);
mpz_init(c);
gmp_scanf("%Zd%Zd",a,b);
mpz_add(c,a,b);
gmp_printf("%Zd\n",c);
mpz_clear(a);
mpz_clear(b);
mpz_clear(c);
return 0;
/*————————————————
版权声明:本文为CSDN博主「yyyyyyyz_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46002416/article/details/111873588*/
- 编译
g++ test.cpp -lgmp -lgmpxx -o test
- 运行返回“1111111222222222223333333”
- 测试“gmpxx.h”是否安装成功
//该例子实现1000的阶乘,代码如下:
#include <gmp.h>
#include <string.h>
int main(int argc, const char *argv[])
mpz_t z_i, z_s, z_o;
mpz_init_set_str(z_i, "1", 10);
mpz_init_set_str(z_s, "1", 10);
mpz_init_set_str(z_o, "1", 10);
int i;
for (i = 0; i < 1000; i++)
mpz_mul(z_s, z_s, z_i);
mpz_add(z_i, z_i, z_o);
gmp_printf("%Zd\n", z_s);
mpz_clear(z_i);