从git上拉取GMSSL代码

http://gmssl.org/上可以拉取,或者直接从git上https://github.com/guanzhi/GmSSL拉也行。

我是在git上下的,文件为gmssl-master.zip,访问Git网络时好时坏,CSDN好像有提供镜像之类的。PS:从git上拿的会有点问题(解决了),后面细说,但从官网提供的下载编译我当时是遇到了其他错误信息(没解决)。

环境

  • Visual studio 2019 项目使用最新的VS就行,别用VC等老古董。
  • perl 官网下,正常安装就行,不过官网一打是开给的命令行下载的方式,我怕搞不定,直接百度搜资源下的。ActivePerl5_32这是我的版本。
  • NASM 一个汇编器,没有的话,后面会有报错(但可以用参数选择不使用汇编,忽略掉这个错误),下文细说。直接百度搜,下载,我下的是nasm-2.14.03rc2-installer-x64.exe,后面直接安装。然后设置系统环境变量,把安装的路径添加到path里,就ok了。PS:在添加环境变量后,再启动的命令行才会读到这个变量。

命令行生成makefile和nmake执行

代码里是没有makefile文件的,使用pl脚本文件生成的makefile文件,这就是安装perl的原因

管理员方式启动VS的命令行到GMSSL的项目路径下,执行下面的命令(先别执行,看我下文错误信息,先改了再执行)

perl Configure VC-WIN32
nmake
nmake install

perl Configure VC-WIN32

  • 此命令如果没有下载NASM 会报:NASM NOT FOUND:xxxxxxx,但是在命令后面带上 no-asm 可以避开这个问题。
  • 正常执行后会成功生成makefile文件

nmake

  • 此命令开始编译文件,会报一个错误,如下:
libcrypto.* libcrypto-1_1.* && EXIT 1)
libcrypto-1_1.def : error LNK2001: 无法解析的外部符号 EVP_get_ciphernames
libcrypto-1_1.def : error LNK2001: 无法解析的外部符号 EVP_get_digestnames
libcrypto.lib : fatal error LNK1120: 2 个无法解析的外部命令
NMAKE : fatal error U1077: “link”: 返回代码“0x1”

此时需要拿到历史版本的names2.c文件替换掉当前源码中(GMSSLPATH\crypto\evp)names2.c文件,我看git上的历史版本已经没有了,但我从发布版本(此时仅一个)中找到了

git上:





git地址:https://github.com/guanzhi/GmSSL/releases

CSDN上:



CSDN地址:https://codechina.csdn.net/mirrors/guanzhi/gmssl/-/releases/gmbrowser-v0.1?spm=1033.2243.3001.5876

在同样的目录下拿到names2.c文件,我拿的版本对应的文件修改日期为‎2018‎年‎4‎月‎6‎日,替换自己下载的源码中的文件即可

然后执行nmake

如果你很不幸没有看到我前文劝你先别执行的话,那么你需要删掉你已经报错的源文件,重新解压出来干净的文件,再替换文件,最后再nmake

nmake install

执行后将在 C:\Program Files (x86)\GmSSL 目录下生成如下目录结构:


end

WIN10 GMSSL编译的更多相关文章

  1. Win10下编译OpenJDK8

    导航目录 Win10下编译OpenJDK8 相关参考文章 编译环境 编译前准备 1.安装 Visual Studio 2010 Professional 2. 准备OpenJDK8 3. 编译JDK环 ...

  2. Win10上编译CoreCLR的Windows和Linux版本

    一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...

  3. VS2015在win10上编译的程序在Win7上运行的方法

    在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...

  4. win10 cmake编译 opencv4.0 + pyhton3.7x64

    在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...

  5. Win10 + vs2017 编译并配置tesseract4.1.0

    tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...

  6. win10+vs2008编译比特币1.0版源码总结

    https://zhuanlan.zhihu.com/p/25074960 https://zhuanlan.zhihu.com/p/25095222 总体上是参考这两个链接,感谢大神的分享,但是中间 ...

  7. win10 + VS2015 编译 ARPACK

    step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...

  8. VS2015在win10上编译的程序不能在Win7上运行的原因

    研究了下,搞懂原理了.是VS 2015 编译的问题,因为我是Win 10 ,所以会用到win 10 的SDK ,这个SDK 依赖了Universal C Runtime ,就是API-MS-CRT-X ...

  9. win10+vs2015编译caffe的cpu debug版本、部署matcaffe

    一.编译caffe 1.安装python-3.5.2-amd64.exe https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe ...

随机推荐

  1. 死磕nginx系列

    死磕nginx系列 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统--nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕 ...

  2. TensorFlow实现多层感知机MINIST分类

    TensorFlow实现多层感知机MINIST分类 TensorFlow 支持自动求导,可以使用 TensorFlow 优化器来计算和使用梯度.使用梯度自动更新用变量定义的张量.本文将使用 Tenso ...

  3. Python分析离散心率信号(下)

    Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...

  4. kali2020.4中安装nessus 8.14.0

    1.下载软件包 官网下载地址:https://www.tenable.com/downloads/nessus 2.安装nessus dpkg -i /root/Nessus-8.14.0-debia ...

  5. IDEA骚技巧

    1. var 声明 2. null 判空 3. notnull 判非空 4. nn 判非空 5. for 遍历 6. fori 带索引的遍历 7. not 取反 8. if 条件判断 9. cast ...

  6. KIP-5:Apache Kylin深度集成Hudi

    Q1. What are you trying to do? Articulate your objectives using absolutely no jargon. Q2. What probl ...

  7. 如何回答面试中问到的Hibernate和MyBatis的区别

    这边主要是写给那些准备去面试的(没什么经验的)应聘者看的,为了在面试中更好的回答这个问题,我做一个简单的梳理和总结. 作为一名职场新人,经历过多次的面试,由于在简历中提及了Hibernate和MyBa ...

  8. C#异步迭代 IAsyncEnumerable 应用

    最近用WPF做金税盘开发中有这样一个需求,批量开票每次开票都需要连接一次金税盘. 比如我有发票 a, b ,c ,d e 这五张发票,每次开具发票都需要调用金税盘底层,才能正常开票. 首先,尝试写第一 ...

  9. 安装linux 报错(initramfs) Unable to find a medium containing a live file system

    如题,linux 安装报错:(initramfs) Unable to find a medium containing a live file system 我是用UItraISO做的启动盘遇到这个 ...

  10. 喜鹊开发者(The Magpie Developer)

    搬运文,原文地址:https://div.io/topic/1576 我经常感觉,开发人员很像我们所说的喜鹊,以不停的获取很多小玩意来装饰他们的窝而著称.就像喜鹊一样,开发人员通常都被定义为聪明的.好 ...