如何在Windows下编译OpenSSL
2009-05-15 16:24
330 查看
解压OpenSSL以后, 在其目录下可以发现有个INSTALL.W32文件,这个文件就是在windows下的安装说明。你可以用UltraEdit打开它。 1.安装perl,perl可以从http://www.activestate.com/ActivePerl下载。 2.安装编译器(任意一个都可以),我仅以Visual C++为例子。 Visual C++ Borland C GNU C (Cygwin or MinGW) 3.如果通过汇编的方式编译,需要安装汇编语言编译器。MASM NASM都可以。如果速度要求不高,可以不用汇编的方式编译,即不需要安装。MASM一般由VC++自带,Windows NT 4.0 DDK a和Windows 98 DDK也带有MASM。把XXXXXml.exe和XXXXXml.err文件,提取出来,命名为ml.exe和ml.err,并把他们放到PATH路径 中即可。 NASM可以免费获取,很多地方都可以下载到,如http://www.kernel.org/pub/software/devel/nasm/binaries/win32/ nasmw.exe文件也需要放到PATH路径中。 4.打开一个DOS窗口,输入:perl Configure VC-WIN32 5.如果使用MASM,接着输入:ms\do_masm 如果使用NASM,接着输入:ms\do_nasm 如果不使用汇编语言编译器,输入:ms\do_ms 6.在DOS窗口中接着输入:nmake -f ms\ntdll.mak 如果没有错误的话,编译就通过了,在out32dll目录下面就可以看到,生成的dll文件和可执行文件了。把他们放到,PATH环境变量对应的一个目录里就可以了。 |
1、安装ActivePerl//初始化的时候,需要用到perl解释器
2、使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)
3、解压缩openssl的包,进入openssl的目录
4、perl configure VC-WIN32
尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。
5、ms\do_ms
在解压目录下执行ms\do_ms命令
6、nmake -f ms\ntdll.mak
编译后
在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件
注 意:在运行第五步时,cl编译器会抱怨说.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。
于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。。。
继续执行nmake -f ms\ntdll.mak
于是成功。。。
(我下载的是openssl-0.9.8a版本)
准备工作:
1. 安装Visual C++ 6.0:
在安装VC6.0的时候直接注册了环境变量后面会省略一个步骤。
已经从OpenSSL0.9.7i开始支持VC2005了,所以安装2005也可以。
2. 安装Perl5:
在网上搜索一下ActivePerl For Windows,我们需要的是for win32 x86版本的ActivePerl,它是Windows环境下的PERL语言解释器,其中就包括Perl for Win32。
3. 下载并解压OpenSSL:
到http://www.openssl.org/找一个源码包,目前0.9.8g是最新的版本了,下载到本地并且解压到一个目录下。
准备工作完成,开始编译。在OpenSSL源码包中有INSTALL、INSTALL.MacOS、INSTALL.NW、 INSTALL.OS2、INSTALL.VMS、INSTALL.W32、INSTALL.W64 和 INSTALL.WCE等文件,这些文件就是为不同的操作系统安装OpenSSL准备的,Win32环境下当然是学习INSTALL.W32这个文件,整个编译安装过程里面写的很清楚:
1. 控制台下进入OpenSSL文件夹,运行配置文件(run Configure):
> perl Configure VC-WIN32 |
- If you are using MASM then run: > ms\do_masm - If you are using NASM then run: > ms\do_nasm - If you don't want to use the assembly language files at all then run: > ms\do_ms |
3. 生成库文件:
> nmake -f ms\ntdll.mak |
4. 如何还想进行安装:
> nmake -f ms\ntdll.mak install |
> vcvars32.bat |
相关文章推荐
- 如何在Windows下编译OpenSSL
- 如何在Windows下编译OpenSSL?
- 如何在Windows下编译OpenSSL?
- 如何在Windows下编译OpenSSL?
- 如何在Windows下编译OpenSSL?
- 如何在Windows下编译OpenSSL
- 如何在Windows下编译OpenSSL
- 如何在 Windows 下编译 OpenSSL
- 如何在Windows下编译sqlite3,生成动态链接库并使用(New_070929)
- 如何在windows下编译Chrome源代码
- windows环境下VS2013编译openSSL
- 如何实现在Windows下编写的代码,直接在Linux下编译
- [HOW-TO] Windows平台如何编译MySQL代码
- 如何在windows下编译Chrome源代码
- windows下编译openssl
- windows下rabbitmq-c编译(带openssl、无需MinGW)
- windows下编译openssl-0.9.8k的注意事项
- Windows上编译最新的CURL,含有zlib,openssl
- 在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口