现在的位置: 首页 > 综合 > 正文

windows 下使用MinGW编译PBC库

2018年04月15日 ⁄ 综合 ⁄ 共 882字 ⁄ 字号 评论关闭

Linux下编译PBC库很简单,在PBC Manual中有其介绍,PBC库本身是基于Linux环境来编写的,编译过程和普通其他库的编译过程一样:

1)./configure

2)make

3)make install

4)make clean

这里要注意一下,PBC库是基于GMP库的,如果Linux系统不存在GMP库时,在./configure这步时会出错,提示没有找到GMP库~~所以我们在编译PBC库前还需要编译GMP库,编译GMP库的过程和上面一样~~


然而,在windows下编译PBC库稍微麻烦一点,从0.5.10版本开始,PBC开始支持在windows下使用MinGW环境来编译,所以我们首先要安装MinGW,MinGW的安装和windows下普通软件的安装过程一样,可以去官网下载exe安装包~~


同样,我们在编译PBC库之前也需要在MinGW中编译GMP库,编译过程和Linux下是一样的,编译后可生成GMP动态库和静态库,我这里使用静态库,为libgmp.a,这里也还需要gmp.h这个头文件,我们把这两个文件放在某个目录下~~然后我们编译PBC库,这里有一点,在PBC Manual中有说明,就是./configure --disable-static --enable-shared,那么配置GMP库到PBC库的编译环境中去呢?如果我们直接使用./configure
--disable-static --enable-shared,则在检查环境时会出错,提示找不到-lgmp,不过下面也会出现提示信息,要我们把GMP库的路径添加到LDFLAGS环境变量中,在MinGW环境下,我们可以使用export LDFLAGS=""来添加环境变量(可以使用echo $LDFLAGS来查看环境变量),在引号中给出GMP库的路径并使用-lgmp,则./configure过程成功~~


然后我们接着使用make&&make install&&make clean过程,然后我们就可以得到响应的动态库libpbc.dll了~~


编译过程中可能会出现一些其他问题,可以查看错误提示来解决相应问题~~


抱歉!评论已关闭.