OpenSSl编译
1.下载openssl代码,下载地址:http://www.openssl.org/source/ ,如果使用winrar解压失败的话(提示不能创建符号链接),可以关闭UAC。
2.下载安装ActivePerl,下载地址:http://www.activestate.com/activeperl
3.从Windows开始菜单运行“Visual Studio Command Prompt (20xx)”
4.进入openssl目录,例如 E:\openssl-1.0.1e,执行以下命令:
编译X86
E:\openssl-1.0.1e>perl Configure VC-WIN32 --prefix=E:\openssl-1.0.1e
E:\openssl-1.0.1e>ms\do_ms
E:\openssl-1.0.1e>nmake -f ms\nt.mak
此时会产生一个out32目录,里面就是想要的东西。
注意:
以上是将openssl编译为静态链接的lib文件。如需编译为dll,最后一个命令改成
D:\openssl-1.0.1e>nmake -f ms\ntdll.mak
然后会生成out32dll里面
需要生成debug版本就使用
perl Configure debug-VC-WIN32 --prefix=E:\openssl-1.0.1e
编译X64
64位AMD版本(需要64位Visual Studio Command Prompt (20xx)):
E:\openssl-1.0.1e>perl Configure VC-WIN64A --prefix=E:\openssl-1.0.1e
E:\openssl-1.0.1e>ms\do_win64a
编辑ms/nt.mak (或者ms/ntdll.mak),修改输入目录:
# The output directory for everything intersting
OUT_D=out64
# The output directory for all the temporary muck
TMP_D=tmp64
# The output directory for the header files
INC_D=inc64
INCO_D=inc64/openssl
E:\openssl-1.0.1e>nmake -f ms\nt.mak
64位AMD debug版本:debug-VC-WIN64A(需要重新编辑nt.mak,改为out64.dbg之类)
其实你在ms\do_*的时候是会修改*.mak文件的。
VC2015编译的问题
可能会因为你的sdk路径包含问题,提示找不到windows.h之类的头文件,此时需要修改环境变量,增加INCLUDE和LIB
INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt
LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x86
64位的话需要删除前面的重新设置过!
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10586.0\ucrt\x64
用完可以删除环境变量,其实应该在mak文件里面编辑下就可以了,但是我不知道怎么改,懂得人麻烦留下言
如果之前用以前的vs版本编译过的话,需要清理临时文件,obj之类的
如果汇编版本编译失败的话
禁用汇编
配置时用 perl Configure VC-WIN32 no-asm
生成makefile时用 ms\do_nasm
其它
参考:http://blog.csdn.net/boise/article/details/5627191 (如何编译openssl x64)
或者直接下载 win32-openssl(个人觉得比较坑爹)
下载页面:http://slproweb.com/products/Win32OpenSSL.html
注意选择开发者版本还是使用者版本。安装之前需要Vc2008运行库,不管你有没有安装高版本的运行库。
OpenSSl编译的更多相关文章
- openssl编译时!遇见的问题
openssl编译: 1.编译静态库 ./config --prefix=/root/openssl/soft make 2.编译动态库 ./config --prefix=/root/openssl ...
- Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化
前言 Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持.. OpenSSL 介绍 OpenSSL是一个开放源代码的软件库包,应用程序可 ...
- libcurl库openssl编译
openssl编译 win32: perl Configure no-shared VC-WIN32 --prefix=E:/lib/openssl-1.1.1 linux: ./config -f ...
- curl+openssl编译
curl不支持openssl的静态库,所以编译openssl的时候,应该加上shared 参数,记录一下我亲手编译的参数: ./configure --prefix=/usr/local/openss ...
- openssl编译(VC6.0)
官网:http://www.openssl.org/ 得到源码: git clone https://github.com/openssl/openssl 一.用vc编译器编译: 1.下载nasm: ...
- linux 下 openssl 编译和交叉编译
此随便记录一下编译openssl时遇到的各种问题以及解决办法. 点击此处下载 OpenSSL(version-1.0.1e) linux 64位系统编译32位版本: setarch i386 ./Co ...
- windows下openssl编译
昨晚,在编译rabbitmq-c时,使用cmake生成vs项目文件时遇到下列错误: CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modu ...
- openssl编译安装-各种蛋疼
arm平台 ubuntu Linux xxxxxx 3.0.62 #2 PREEMPT Tue Apr 2 20:14:12 CST 2013 armv7l armv7l armv7l GNU/Li ...
- ubuntu下安装 openssl&&编译运行测试代码
检查是否已安装 openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install libssl-devsudo apt-ge ...
随机推荐
- 洛谷 P1656 炸铁路
P1656 炸铁路 题目提供者kkksc03 标签图论搜索/枚举洛谷原创 难度普及/提高- 题目描述 因为某国被某红色政权残酷的高压暴力统治.美国派出将军uim,对该国进行战略性措施,以解救涂炭的生灵 ...
- (原)ubuntu16重装显卡驱动后,torch中的问题
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6030232.html 参考网址: https://github.com/torch/cutorch/i ...
- django post方法不能提交
def login(request): if request.method == 'GET': c = {} c.update(csrf(request)) return render_to_resp ...
- Django QuerySets 里的**kwargs: 动态创建ORM查询
Django的数据库API查询经常包含关键字参数.例如: bob_stories = Story.objects.filter(title_contains='bob', subtitle_conta ...
- jdk1.7 JDBC连接SQL Server2008
路由器网:http://www.ming4.com/news/2355.html Jackie的博客:http://blog.163.com/jackie_howe/blog/static/19949 ...
- sql server高效分页控件及c#调用实例
第一.首先在sqlserver中创建一个存储过程 USE [BZY] GO /****** 对象: StoredProcedure [dbo].[up_ProcCustomPage2005_New] ...
- 使用PHPExcel报错 Fatal error: Class 'ZipArchive' not found
Windows PHP5+Apache2.2 解决方法: 打开php.ini 找到: extension=php_xsl.dllextension=php_zip.dll 将其前面的';'去掉. 找到 ...
- .NET自动字符编码识别程序库 NChardet
什么是NChardet NChardet是mozilla自动字符编码识别程序库chardet的.NET实现,它移植自jchardet,chardet的java版实现,可实现对给定字符流的编码探测. N ...
- WebApi 能支持Session
由于项目实际需要,我希望让WebApi服务也能支持Session,所以便查找资料按照网上的方法开始着手实验. 然后就有了以下的代码,主要是说让WebApi支持Session,要重写Global.asa ...
- PLSQL 循环示例
<pre name="code" class="sql"><pre name="code" class="sql ...