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 ...
随机推荐
- HEAP[xxx.exe]:Invalid Address specified to RtlValidateHeap 错误的解决方法总结
一.情况 抽象出问题是这样的: class DLL_API1 A { func() { vector vec; B b; b.func(vec); return TRUE; } } 其中B是另一个导出 ...
- 【android】android下防止anr程序无响应
public class AnrActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState ...
- Freemarker日期函数处理【转】
Freemarker日期函数处理[转] (2012-08-01 14:32:13) 转载▼ 标签: 杂谈 string(当和一个日期值一起使用) 这个内置标签用指定的格式把日期转换成字符串,(把默 ...
- 修补--Redis未授权访问漏洞
--------------------------------阿里云解决方案----------------------------------- 一.漏洞描述 Redis因配置不当可以导致未授权访 ...
- 第一个程序 - Windows程序设计(SDK)001
愉快的开始 让编程改变世界 Change the world by program 编译器安装 我们经常说的 VS 指的就是 Microsoft Visual Studio 的简称,它是微软开发工具的 ...
- Codeforces Round #276 (Div. 2) 解题报告
题目地址:http://codeforces.com/contest/485 A题.Factory 模拟.判断是否出现循环,如果出现,肯定不可能. 代码: #include<cstdio> ...
- JVM中可生成的最大Thread数量
最近想测试下Openfire下的最大并发数,需要开大量线程来模拟客户端.对于一个JVM实例到底能开多少个线程一直心存疑惑,所以打算实际测试下,简单google了把,找到影响线程数量的因素有下面几个: ...
- QWidget: Must construct a QApplication before a QPaintDevice的问题
卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...
- UVa 11401 三角形的个数
题意:由1,2,3...n组成的序列中找三个数,且以这三个数为变长能组成三角形,求这样的三角形个数. 思路:当每次输入n时重新都计算一遍会TLE...先预处理,将结果存入ans数组. 代码: #inc ...
- Find the largest multiple of 3 解答
Question Given an array of non-negative integers. Find the largest multiple of 3 that can be formed ...