代码一览:
遇到的问题
- 头文件和库文件的安装;
- codeblocks编译链接指明问题。
解决
-
bliss的代码实现用到几个包,在windows下比较难配置,故选择在linux下。
需要安装的包:- libboost-random-mt.a
- libssl.a
- libntl.a
- libmpfr.a
- libgmp.a
安装方法参考:如何在 Ubuntu 上安装 NTL 库
openssl、NTL、mpfr、gmp的包最好从各个包的官网下载,解压-编译-安装得到。我的openssl一开始是通过apt-get安装的,一直没办法得到.a文件,最终还是从官网下载,configure-make-make install,之后就可以在/local/lib中得到.a文件,其他的包也可以类似操作得到需要的.a文件,这里的.a文件后面要用到。如图:
大致流程相似,如下:
tar -xvf gmp-6.0.0a.tar.lz //解压gmp-6.0.0a.tar.lz的命令,也可以用鼠标提取。 cd gmp-6.0.0 //转到解压后的gmp-6.0.0 文件夹 ./configure //编译GMP,默认安装到/usr/local/gmp-6.0.0 make //使用make工具编译 sudo su make install //安装 ls /usr/local/gmp-6.0.0 //判断成功与否,成功会有include lib share
-
虽然安装好了头文件和库文件,但运行代码会出现找不到文件的问题:
需要在setting->compiler->Linker settings 和 setting->compiler->Search directories中进行指定。
如下:
最后成功运行: