Ubuntu20.04安装relic密码学库
⾸先安装⼀些基本⼯具(如果有就不⽤安装)
sudo apt update
ubuntu安装教程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/f配置⽂件(理论上不需要这⼀步,不做可能会出问题,做⼀下也⽆妨)
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.,在~/下解压:
tar -zxvf openssl-1.1.
开始编译安装:
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~
发布评论