首先安装一些基本工具(如果有就不用安装)
- 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#include #include 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("%Zdn", 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~



