遇到各种错误,实在考验人的耐性,把整个详细过程写下来,也让其他人好少走弯路。。
1:首先需要perl,安装好perl并将bin添加到系统变量path中
2:接着是C编译器,我电脑中安装了vc 2010,因此就不需要再安装,只需在使用的时候设置相应的环境变量
3:下载最新版的openssl,官网很容易就可以找到了
步骤如下
1:将下载的openssl解压并将里面的文件都剪切到C:\openssl中,当然这个目录没有特殊要求,我这样做只是比较好记
2:打开cmd命令行,进入c:\openssl,执行命令 perl Configure VC-WIN32
3:进入VC安装路径的bin文件中,我的是C:\Program Files\Microsoft Visual Studio 10.0\VC\bin,运行vcvars32,该脚本文件设置了环境变量,但是只在当前dos界面中有效,一旦关闭就无效(这个问题就让我纠结了好久,这一步也涉及了很多关于VC环境的问题,如果想自己在系统变量中修改path进行添加也可以,但是我就遇到各种各样的错,所以还是按上面这个做法吧)
4:返回c:\openssl中,此时可以有三种做法
1) ms\do_nasm
2) ms\do_masm
3) ms\do_ms
但是前两个要下载安装nasm/masm,第三个则不用
所以我使用ms\do_ms,但这个过程又遇到错误
搜了一下,发现有两篇比较靠谱的文章
a) http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval,提到安装vs 2010 SP1会移除64-bit compliers
b) http://blog.csdn.net/xiaowei_cqu/article/details/18229649,说是因为采用incremental linking(增量式链接)导致的
解决方法有两个
a) Project(项目)->Properties(属性)->Linker(连接器)->Gerneral(常规)->Enable Incremental Linking(启动增量链接),把 Yes (/INCREMENTAL) 改为 No (/INCREMENTAL:NO) 即可。
b) 安装VS 2010 SP1
我选择的是安装VS 2010 SP1,虽然花的时间比较长,但是因为这个项目不是在IDE环境下编译的,所以我也不知道去哪修改那个属性,就放弃了第一种
最后一步安装openssl:
nmake -f ms\ntdll.mak install
之后就编译成功动态库,输在在out32dll文件夹中,包括可执行文件,dll文件以及lib文件等
有关各种平台的安装说明文档其实也挺详细的,可以参考一下,比如在windows x86系统下的说明文件是"INSTALL.W32",直接拖到浏览器中即可打开
另外,如果只是使用openssl,也可以直接到http://www.slproweb.com/products/Win32OpenSSL.html下载安装包