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 ...
随机推荐
- hdu Intelligent IME
算法:字典树 题意:手机9键拼音:2:abc 3:def 4:ghi 5:jkl 6:mno 7:pqrs 8:tuv 9:wxyz: 第一行读入一个T,代表测试组数: 之后输入两个整数n和m, 有 ...
- C++类中的静态成员变量与静态成员函数的使用
代码: #include <iostream> #include <string> #include <cstdio> using namespace std; c ...
- I/O复用-epoll模型
epoll函数 epoll函数的使用与select.poll上有很大的差异. epoll使用一组函数来完成任务,而不是单个函数. epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而 ...
- win7自由调整CMD窗口
有如下命令,只需要改动相关参数即可以任意改变cmd窗口大小. mode con lines= mode con cols= color cls @cmd
- 关于Android界面编程与视图(View)组件
UI组件--------------->android.widget.* View组件------------->android.view.* 视图(View)组件 所有UI组件都是建立在 ...
- Linux中C/C++头文件一览
1.Linux中一些头文件的作用: #include <assert.h> //ANSI C.提供断言,assert(表达式) #include <glib.h> ...
- C语言开发CGI程序的简单例子
这年头用C语言开发cgi的已经不多,大多数的web程序都使用java.php.python等这些语言了. 但是本文将做一些简单的cgi实例. 首先配置环境 #这里是使用的apache AddHandl ...
- JS代码的window.location属性详解
转载:http://www.5icool.org/a/201105/a564.html 如果你稍微懂一些JS代码,一般都会知道 window.location.href 这个属性.并且用该属性获取页面 ...
- Direct3D 对X模型载入
今天我们来学习Direct3D对模型的导入使用,Direct3D支持.X模型文件导入使用,.X文件是微软定义的3D模型文件格式,其中包含网格,动画,纹理等等一些信息. 目前3DS Max 和 Maya ...
- python高级编程之超类02:super的缺陷
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #当使用多重继承层次结构时,再使用super的时候是非常危险的,主要 ...