windows编译openssl(64位)一游
编译openssl,一套标准流程:
(环境: win10 64位os, vs2019)
需要的工具:perl nasm openssl源码包
1 安装perl
2 下载nasm,将nasm配置到path环境变量
openssl要用到perl,而perl依赖nasm
3 解压openssl源码包
4 开始菜单->visual studio 2009->x64 Native Tools Command Prompt for VS 2019->右键选择更多->以管理员身份运行
5 cd 到解压的openssl源码目录
6 perl Configure VC-WIN64A --prefix=C:\Source\vs2019_64\openssl
--prefix 可以指定openssl的生成目录
7 nmake
8 nmake install
9 nmake test
正片来了,在编译的过程中遇到的问题:
问题一:nmake报错 fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“x86”冲突
解决:输入 nmake clean 解决,应该是openssl中有残余32位的编译数据
问题二:nmake报错 fatal error U1077: “cl”: 返回代码“0x2”
解决:改名后报错解决
问题三:fatal error U1073: 不知道如何生成“"crypto\rc4\asm\rc4-md5-x86_64.pl"”
解决:按路径打开crypto\rc4\asm\rc4-md5-x86_64.pl后发现是名字多了一个(1),改掉后重试
接下来还有
问题四:。。。
问题五:。。。
问题六:。。。
问题七:。。。
。。。
有完没完啦!!!
为什么问题这么多呢,我思考了一下,我的openssl是找的网盘里下载的。下载的时候有压缩包,还有一个解压好的文件,我就直接用这个解压的openssl文件夹了,肯定是这个解压缩的文件夹有问题,果断放弃,把压缩包重新解压了一份,对比发现原来的openssl文件夹不光有命名错误还少文件,这才是问题的根源啊。不过正好借此机会,在解决问题的过程中,学到了不少知识,锻炼了解决问题的思路,还是挺值的。
加餐:
知识一:
开始菜单-》visual studio 2009-》右键-》更多-》打开文件位置
知识二:error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突”,vs中配置修改。
1、右击该项目,选择属性,在最上面点击 “配置管理器”,新建平台 “x64”,然后把 X64,点击关闭。
2、在属性页选择 “链接器” —>“高级”,在里边有一项名为目标计算机,将其改为:MachineX64 (/MACHINE:X64) ,然后点击确定。
知识点三:把此过程放入一个批处理文件 build_openssl_vs2019_64.bat
使用管理员权限运行,回到C:\Windows\System32\下 所以cd要使用绝对路径
@echo "start openssl"
set VS="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat"
set OUT="C:\Source\libeventOut\out\vs2019_64\openssl"
call %VS%
cd C:\Source\libeventLearn\openssl\openssl-1.1.1
perl Configure VC-WIN64 --prefix=%OUT%
nmake clean
nmake
nmake install
@echo "end openssl"
pause
windows编译openssl(64位)一游的更多相关文章
- Windows Server 2008 64 位 IIS7.5 ASP.NET MVC4 发布问题
问题描述: 环境与配置: ASP.NET MVC 4 WINDOWS SERVER 2008 64 位 应用程序池是选择的 .NET 4.0 与经典模式 在新建一个MVC 4 项目发现到服务器上后 ...
- windows 2008 R2 64位系统,找到Microsoft Excel 应用程序
在windows 2003 操作系统中, 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务", 2.依次双击& ...
- vs2015编译boost 64位
---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstrap.bat,产生bjam.exe s ...
- Windows 7,64位机器上安装DB2 7.2+FP7
1.要想在Windows 7,64位机器上安装DB2 7.2+FP7,注意:1)拷贝所有安装文件到本地2)设置setup.exe文件兼容windows 20003)使得users用户勾选“完全控制”权 ...
- 64位windows上访问64位oracle 12c
64位windows上访问64位oracle 12c,这会有啥问题? 没啥问题.问题是,我64位操作系统的机器上装了个oracle 10g.而oracle 10g好像是不区分啥32位.64位的,一律3 ...
- 【VS开发】【C/C++开发】vs2015编译boost 64位
vs2015编译boost 64位 ---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstra ...
- 编译本地64位版本的hadoop-2.6.0
官方提供的hadoop-2.x版本貌似都是32位的,在64位机子下使用可能会报错,最好使用官方提供的源码进行本地编译,编译成适合本地硬件环境的64位软件包. 关于native Hadoop是使用J ...
- 关于Windows 7的64位系统不兼容某些控件的问题
我的问题是vsflex7.ocx 不能在64位系统下运行,导致软件的一个涉及到这个控件的功能出错.如下: 解决的办法基本思路是把这个控件注册一下.然后就可以了.就是这个控件: 目录中没有自己下载个. ...
- Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项
错误代码及解释: 在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建 ...
随机推荐
- [JZOJ]2109 清兵线 题解
## [JZOJ]2109 清兵线 题解 **FIRST 题目大意** 给你一些正整数,这些正整数为数轴上若干个点代表的数.现求:假设从原点出发,走m以内(包括m)的距离最多能够访问多少个点,输出m- ...
- 《VC++ 深入详解》 第3版 这是盗版书么~。。。
<VC++ 深入详解> 第3版 www.broadview.com.cn 书读到一小半,发现书重复了一部分,缺失一部分.... 难受~ 比较难继续下去了 有一样的小伙伴么~ <VC+ ...
- HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表(目录)
HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 01 HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 02 HT ...
- 「DevOps 转型与实践」沙龙回顾第一讲
9 月 19 日,CODING 和中国 DevOps 社区联合举办的深圳第九届 Meetup 在腾讯大厦 2 楼多功能圆满结束.本次沙龙以 「DevOps 转型与实践」 为主题,4 位来自互联网.金融 ...
- c#类(class)
类 类的定义是以关键字class开始的,后面跟类的名称,类的主题包含一个花括号里,下面是类定义的一般格式. <access specifier> class class_name { // ...
- 详解Class加载过程
1.Class文件内容格式 2.一个class文件是被加载到内存的过程是怎样的? loading 把一个class文件装到内存里,class文件是一个二进制,一个个的字节 linking Verifi ...
- GAN网络之入门教程(五)之基于条件cGAN动漫头像生成
目录 Prepare 在上篇博客(AN网络之入门教程(四)之基于DCGAN动漫头像生成)中,介绍了基于DCGAN的动漫头像生成,时隔几月,序属三秋,在这篇博客中,将介绍如何使用条件GAN网络(cond ...
- CPU 执行程序的秘密,藏在了这 15 张图里
前言 代码写了那么多,你知道 a = 1 + 2 这条代码是怎么被 CPU 执行的吗? 软件用了那么多,你知道软件的 32 位和 64 位之间的区别吗?再来 32 位的操作系统可以运行在 64 位的电 ...
- SpringBoot整合Shiro+MD5+Salt+Redis实现认证和动态权限管理|前后端分离(下)----筑基后期
写在前面 在上一篇文章<SpringBoot整合Shiro+MD5+Salt+Redis实现认证和动态权限管理(上)----筑基中期>当中,我们初步实现了SpringBoot整合Shiro ...
- JVM性能调优(3) —— 内存分配和垃圾回收调优
前序文章: JVM性能调优(1) -- JVM内存模型和类加载运行机制 JVM性能调优(2) -- 垃圾回收器和回收策略 一.内存调优的目标 新生代的垃圾回收是比较简单的,Eden区满了无法分配新对象 ...