VS2008下OpenSSL编译配置

           网上有很多的VS2008下编译OpenSSL的文章,他们都写出了编译的基本步骤,但都忽略了一些重要问题,导致编译不成功。在这里我主要说明一下怎样解决编译过程中遇到的问题。

    首先下载ActivePerl,下载最新版本(现在是最新),文件名为ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi。安装。

    下载OpenSSL,我用最新版本1.0.1编译没成功,所以我就用了大家都推荐的版本0.9.8r。解压到C盘根目录下。

    接下来是下载Microsoft Visual C++ 2008 Redistributable,该软件有些人需要安装。

    在命令窗口中(cmd进入),输入:CD C:\OpenSSl-0.9.8r,进入OpenSSL-0.9.8r目录,让后输入:perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0,回车。此处添加“-DOPENSSL_USE_IPV6=0”是用来禁用IPV6,防止报ml.exe的“0x01”错误。着这里,没必要输入“--prefix=c:/openssl”,因为现在已经在该目录下,很多文章不论三七二十一,都把这句加上,导致很多不必要的错误。

    接着输入ms\do_ms,生成makefile文件。

    接着输入CD C:\Program Files\Microsoft Visual Studio 9.0\VC\bin,回车。输入vcvars32.bat,回车运行。此处为注册环境变量,其他地方肯定这点也说了。

    接下来就是输入:CD C:\OpenSSl-0.9.8r,再次进入OpenSSL-0.9.8r目录,输入:nmake -f ms\ntdll.mak,编译动态库。编译要花几分钟的时间,请耐心等待。如果出现找不到ml.exe(VS2008一般不会),就去下载masm,安装这个软件,在bin里面找到ml.exe和ml.err,复制到C:\Program Files\Microsoft Visual Studio 9.0\VC\bin下面。

    编译完成后,输入nmake -f ms\ntdll.mak test,进行测试,若测试成功,最后输出“pass all tests”,则编译成功。

    最后输入nmake -f ms\ntdll.mak install,安装。O了。

你可能感兴趣的:(C++)