利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

首先mingw的环境搭建,务必遵循下文:

http://blog.csdn.net/ubuntu64fan/article/details/8918808

然后:

1 编译32位openssl

1)打开:MSYS-x64 Shell(msys\1.0\bin\sh.exe)。以下操作都是在mingw64 shell中执行。

2)查看当前编译环境的位版本(32或64):

  $ cat /etc/profile

在最下面看到:

......
if [ -f /local32/etc/profile.local ]; then
  source /local32/etc/profile.local
fi

可知当前shell使用的是32位编译环境。

3)下载openssl

  $ cd /local32/src
  $ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz

我机器上的真实目录是:C:\DEVPACK\MinGW\local32\src

解压:

  $ tar zxfh openssl-1.0.2e.tar.gz

会出现一堆警告,忽略之

使用tar zxfh openssl-1.0.2e.tar.gz 解包。原因是:

+ Since the release tarballs contain symlinks which MSYS cant deal with
+ you must use tar with the -h option to dereference the symlinks:
+ tar zxfh openssl-1.0.2e.tar.gz

4)编译openssl静态库和动态库

  $ cd /local32/src/openssl-1.0.2e
  $ perl Configure mingw shared --prefix=/usr/local/win32
  $ make -j 4
  $ make install

编译好的结果:头文件,库文件等安装在目录 /usr/local/win32/ssl 下面,对应真实目录:

C:\DEVPACK\MinGW\msys\1.0\local\win32\ssl

2 编译64位openssl

1)打开:MSYS-x64 Shell(msys\1.0\bin\sh.exe)。以下操作都是在mingw64 shell中执行。

2)下载解压: openssl-1.0.2e.tar.gz

  $ cd /local64/src
  $ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
  $ tar zxfh openssl-1.0.2e.tar.gz

3)改变编译环境位数为x64 (仅对当前窗口有效):
  $ source /local64/etc/profile.local

4)编译openssl静态库和动态库

  $ cd openssl-1.0.2e
  $ perl Configure mingw64 shared --prefix=/usr/local/win64
  $ make -j 4
  $ make install

编译好的结果:头文件,库文件等安装在目录 /usr/local/win64/ssl 下面,对应真实目录:
C:\DEVPACK\MinGW\msys\1.0\local\win64\ssl

最新文章

  1. [转载] Win7KB3146706补丁导致蓝屏0x0000006B的修复方案
  2. Java开发中经典的小实例-(冒泡法)
  3. SQL查询关于相对路径、矢代、绝对路径、递归、计算列的速度对比跟优化-SOD群记录
  4. Android开源框架:NineOldAndroid
  5. [my]_ubuntu12.10_/etc/apt/sources.list
  6. 【大话QT之十】实现FTP断点续传(需要设置ftp服务器为“PASV”被动接收方式)
  7. lightoj 1300 边双联通分量+交叉染色求奇圈
  8. Python之路第八天,基础(10)-异常处理
  9. hdu 5491(位运算)
  10. 11.Git分支-远程跟踪分支的概念、多个远程仓库的使用
  11. JMter随记
  12. 刷题upupup【Java中HashMap、HashSet用法总结】
  13. Docker 容器操作命令
  14. Oracle 导出用户下的所有索引创建语句
  15. Linux下面安装RabbitMQ Cluster
  16. JAVA unicode转换成中文
  17. 线程安全单例最佳实践,C#中的Lazy是如何保证线程安全的
  18. c#学习路线及目录导航
  19. InstallSheild 获取系统环境变量,如Desktop路径等
  20. UE4 引擎基础类说明

热门文章

  1. KMP算法小结
  2. 剑指架构师系列-Redis集群部署
  3. XCode使用技巧
  4. 【Android】给Android Studio设置代理
  5. 【SSH系列】深入浅出spring IOC中三种依赖注入方式
  6. Mac小技巧:强制退出程序的六种方法
  7. Linux命令行总结
  8. Java异常处理-----自定义异常
  9. TortoiseSVN使用
  10. JQuery 网页选项卡制作