首先安装一些基本工具(如果有就不用安装)
- sudo apt update
- sudo apt install gcc g++ make cmake m4
在安装relic库之前建议安装gmp、openssl(如果有就不用安装)
安装gmp
从官网下载压缩包,下载链接
这里笔者下载的是gmp-6.2.1.tar.lz,在~/下解压:
- sudo apt-get install lzip
- lzip -d gmp-6.2.1.tar.lz
- tar -xvf gmp-6.2.1.tar
开始编译安装:
- cd ./gmp-6.2.1
- ./configure --enable-cxx
- make -j8
- sudo make install
解释一下各命令。第二条命令--enable-cxx表示支持C++操作,编译结果会产生gmpxx相关头文件和库;不带其他参数默认安装在/usr/local/下,建议不要自己指定安装目录,默认即可。第三条命令-j8表示同时开8个线程make,加快速度,这里可以根据自己电脑的配置选择。
安装完成后建议执行以下命令,重新加载/etc/ld.so.conf配置文件(理论上不需要这一步,不做可能会出问题,做一下也无妨)
- sudo ldconfig
安装完毕,可以使用以下代码测试:
#include <iostream>
#include <gmp.h>
#include <gmpxx.h>
using namespace std;
int main() {
mpz_t a, b, c;
mpz_inits(a, b, c, NULL);
mpz_set_str(a, "123456789", 10);
mpz_set_str(b, "987654321", 10);
mpz_mul(c, a, b);
cout << "123456789 * 987654321 = ";
gmp_printf("%Zd\n", c);
mpz_class x, y, z;
x = 123456789;
y = 987654321;
z = x * y;
cout << "123456789 * 987654321 = " << z << endl;
return 0;
}
- g++ -o test test.cpp -lgmp -lgmpxx
注意,上述编译命令中-lgmp -lgmpxx一定要放在最后,否则会编译失败。运行结果如下:
安装openssl
从官网下载压缩包,下载链接
这里笔者下载的是openssl-1.1.1l.tar.gz,在~/下解压:
- tar -zxvf openssl-1.1.1l.tar.gz
开始编译安装:
- cd ./openssl-1.1.1l
- ./config
- make -j8
- sudo make install
- sudo ldconfig
命令的含义同gmp,安装完成后用以下命令测试一下:
- openssl version
安装relic
从github下载压缩包,下载链接
这里笔者下载的是relic-main.zip,在~/下解压:
- unzip relic-main.zip
编译安装:
- cd ./relic-main
- mkdir relic-target
- cd ./relic-target
- cmake ..
- make -j8
- sudo make install
- sudo ldconfig
下期或许会出relic使用教程~Bye~