WIN10 GMSSL编译
从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编译的更多相关文章
- Win10下编译OpenJDK8
导航目录 Win10下编译OpenJDK8 相关参考文章 编译环境 编译前准备 1.安装 Visual Studio 2010 Professional 2. 准备OpenJDK8 3. 编译JDK环 ...
- Win10上编译CoreCLR的Windows和Linux版本
一.编译环境 首先,不管是Windows还是Linux版本CoreCLR的编译,都是在Windows10上进行的. 二.CoreCLR for Windows 在Windows上做编译怎么能少得了Vi ...
- VS2015在win10上编译的程序在Win7上运行的方法
在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...
- win10 cmake编译 opencv4.0 + pyhton3.7x64
在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...
- Win10 + vs2017 编译并配置tesseract4.1.0
tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...
- win10+vs2008编译比特币1.0版源码总结
https://zhuanlan.zhihu.com/p/25074960 https://zhuanlan.zhihu.com/p/25095222 总体上是参考这两个链接,感谢大神的分享,但是中间 ...
- win10 + VS2015 编译 ARPACK
step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...
- VS2015在win10上编译的程序不能在Win7上运行的原因
研究了下,搞懂原理了.是VS 2015 编译的问题,因为我是Win 10 ,所以会用到win 10 的SDK ,这个SDK 依赖了Universal C Runtime ,就是API-MS-CRT-X ...
- 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 ...
随机推荐
- NNVM AI框架编译器
NNVM AI框架编译器 深度学习已变得无处不在且不可或缺.看到对在多种平台(例如手机,GPU,IoT设备和专用加速器)上部署深度学习工作负载的需求不断增长.TVM堆栈弥合深度学习框架与面向性能或效率 ...
- 多目标跟踪:CVPR2019论文阅读
多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.0385 ...
- ADAS测试
ADAS测试 1. ADAS和自动驾驶测试 AD和高级驾驶辅助系统(ADAS)正在不断增加新的雷达.摄像头.激光雷达和GNSS传感器,甚至也在改变 ...
- XLearning - 深度学习调度平台
XLearning - 深度学习调度平台 软件简介 XLearning **** 是奇虎 360 开源的一款支持多种机器学习.深度学习框架调度系统.基于 Hadoop Yarn 完成了对TensorF ...
- 使用CUDA Warp-Level级原语
使用CUDA Warp-Level级原语 NVIDIA GPU以SIMT(单指令,多线程)的方式执行称为warps 的线程组.许多CUDA程序通过利用warp执行来实现高性能.本文将展示如何使用cud ...
- MinkowskiNonlinearities非线性
MinkowskiNonlinearities非线性 MinkowskiReLU class MinkowskiEngine.MinkowskiReLU(*args, **kwargs) __init ...
- 面试官:说一下JVM常用垃圾回收器的特点、优劣势、使用场景和参数设置
今天去看牙医,他问我年级轻轻牙齿怎么磨损这么严重?我说,没有人点赞的这些年,我都是咬着牙过来的. Java中的垃圾回收器几乎是面试中的必考点,无论是面试初级,中级还是高级,总免不了要问一问垃圾回收器的 ...
- pytest基础简介及实践举例
一.pytest简介 pytest 是 python 的第三方单元测试框架,比自带的 unittest 更简洁和高效,同时兼容 unittest 框架.它还有如下优点: 1.简单灵活,容易上手,文档丰 ...
- Spring Cloud系列(二):服务提供者
上一篇介绍了注册中心,这一篇介绍如何把服务注册到注册中心. 一.创建服务提供者 我们依然使用上一篇的项目,在其中创建一个spring boot模块,填好必要的信息,依赖需要选择Spring Web和E ...
- 『言善信』Fiddler工具 — 11、Fiddler中Composer功能详解
目录 1.Composer功能介绍 2.Composer界面说明 3.使用方式 (1)自定义Request请求 (2)Composer重复发送请求 (3)Composer篡改请求数据 1.Compos ...