编译安装说明
在windows下使用MinGW64,建议先安装msys2(推荐),或者cygwin工具环境,我用的是msys2
libgcrypt依赖libgpg-error,因此编译libgcrypt之前要先编译libgpg-error。我下载了当前最新版本的libgcrypt-1.10.2.tar.bz2、libgpg-error-1.47.tar.bz2。源代码下载地址,具体版本如下
1、编译安装libgpg-error
1.1 解压压缩包libgpg-error-1.47.tar.bz2
tar xf libgpg-error-1.47.tar.bz2
1.2 切换到解压后的目录
cd libgpg-error-1.47
1.3 配置编译选项
./configure --prefix=/usr/local/libgpg-error-1.47
通过 --prefix 指定安装路径
1.4 执行make && make install 编译安装
make && make install
2、编译安装libgcrypt-1.10.2
2.1 解解压压缩包libgcrypt-1.10.2.tar.bz2
tar xf libgcrypt-1.10.2.tar.bz2
2.2 切换到解压后的目录
cd libgcrypt-1.10.2/
2.3 配置编译选项
./configure --prefix=/usr/local/libgcrypt-1.10.2 --enable-static --with-libgpg-error-prefix=/usr/local/libgpg-error-1.47
使用 --prefix 指定安装路径,–enable-static 指定生成静态库,–with-libgpg-error-prefix 指定 libgpg-error 库安装路径。详细配置选项可以使用 ./configure --help 命令查看
2.3.1 配置编译选项报如下错误/usr/local/libgpg-error-1.47/bin/gpg-error-config: No such file or directory
从libgpg-error-1.47解压后的源代码目录找到 gpg-error-config 文件,复制到 /usr/local/libgpg-error-1.47/bin 目录,再次运行./configure
2.4 执行make && make install 编译安装
make && make install
注意
1 执行make编译可能会遇到的问题
sys/resource.h、 sys/wait.h 等等文件不存在
建议使用当前最新版本的msys2,出现这个错误时我用的是5.1.8(1)-release (i686-pc-msys),截图如下
第二次我在 msys2官网 下载了最新版本的msys2,可以编译成功,截图如下
2 执行pacman -S gnupg安装gnupg报错,如下图。
处理方式。此处仅记录一下,该问题也是由于先使用的较老版本的 msys2,在处理编译指令 make 报错问题过程中出现的,使用新版 msys2 没有该问题。另,注意配置 /etc/pacman.d/mirrorlist*,建议使用 清华大学开源镜像站 ,配置方式可以百度,在此不作赘述