上海百维科技,上海网站建设 上海软件开发公司热线电话:021-57700304  
  首 页 产品与服务 软件定制 成功案例 思源优势 技术学院 关于我们 联系我们
 
 
思源软件学院 >>> 根目录>>.NET技术>>VS2010 >>>在 Windows下用 Visual Studio 编译 OpenSSL
成功的婚姻的秘诀在于:把大灾难看成小事故,而不要把小事故看成大灾难——Harold Nicolson(上海网站建设)

在 Windows下用 Visual Studio 编译 OpenSSL


Admin
2012年1月20日

到OpenSSL官方网站下载OpenSSL源代码包


以OpenSSL 1.0.0g版本为例


1、下载 openssl-1.0.0g.tar.gz


2、安装 ActivePerl, 这里应用最新ActivePerl 5.14.2.1402 版本因为初始化的时辰, 须要用到 perl 申明器。


3、应用 VS2010 下的 Visual Studio 2010 Command Prompt 进入把握台模式 (这个模式会主动设置各类景象变量,按照编译32位、64位、Itanium本身选择)。


4、解紧缩 openssl 源代码包,进入 openssl 的根目次, 如 E:\openssl-1.0.0g。


5、perl configure VC-WIN32


必须在 c:\openssl-1.0.0g 目次下履行该号令, 不然找不到 Configure 文件, 这时就必须指定完全的 Configure 文件路径。


64编译的话 Win64/x64 履行 perl Configure VC-WIN64A;Win64/IA64 履行 perl Configure VC-WIN64I。


6、ms\do_ms


在 c:\openssl-1.0.0g 目次下履行 ms\do_ms 号令


64位编译的话 Win64/x64 履行 ms\do_win64a ;Win64/IA64 履行 ms\do_win64i。


7、在正式编译之前


(1). 找到 c:\openssl-1.0.0g\ms\ntdll.mak 文件, 用记事本打开, 搜刮 “/MD” 字符串, 调换成 “/MT”, 这将导致静态链接 C 运行, 避免了在目标机械上安装 VC 再发行包等等操纵。


(2) 若是在VC6中编译,须要找到 c:\openssl-1.0.0g\e_os.h 文件, 用记事本打开, 找到



  if !defined(OPENSSL_USE_IPV6)
# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
# define OPENSSL_USE_IPV6 1
# else
# define OPENSSL_USE_IPV6 0
# endif
# endif


调换成



if !defined(_MSC_VER) || (defined(_MSC_VER) && _MSC_VER > 1200 )
# if !defined(OPENSSL_USE_IPV6)
# if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
# define OPENSSL_USE_IPV6 1
# else
# define OPENSSL_USE_IPV6 0
# endif
# endif
#else
# if !defined(OPENSSL_USE_IPV6)
# define OPENSSL_USE_IPV6 0
# endif
#endif


这一步的目标是,在 VC6 下编译时, 避免应用 IPv6 特点, 因为 VC6 不支撑。这里我们忽视这步。


(3)找到 c:\openssl-1.0.0g\ms\ntdll.mak 文件, 用记事本打开可以按照须要批改默认安装路径(静态链接库编译版本打开nt.mak),默认路径如下:


INSTALLTOP=\usr\local\ssl
OPENSSLDIR=\usr\local\ssl


7、编译动态链接库版本
nmake -f ms\ntdll.mak


8、测试动态链接库版本


nmake -f ms\ntdll.mak test


9、安装动态链接库版本


nmake -f ms\ntdll.mak install


10、编译静态链接库版本
nmake -f ms\nt.mak


11、测试静态链接库版本


nmake -f ms\nt.mak test


12、安装动态链接库版本


nmake -f ms\nt.mak install




 

上海软件开发公司业务部:黄浦区重庆北路211号602室 | 上海软件开发公司技术部:松江区天云路259号| 上海软件开发公司综合部:松江区南期昌路346弄50号401室
上海软件开发 Copyright © 2005-2010 All Rights Reserved 电话:021-57616508  传真:57661889
沪ICP备05011021号