windows下编译openssl

准备工作:

    安装perl,下载地址,百度;

    安装vs2010;

    下载openssl源码,我使用的版本: openssl-1.0.1c


开始编译:

    启动 vs command prompt,省去设置环境变量的麻烦;

    1、cd openssl=1.0.1c, 执行 “perl Configure VC-WIN32”,配置编译环境;

    2、执行“ms\do_ms.bat”, 生成配置文件;

    3、执行“nmake -f ms\ntdll.mak ”,执行编译、链接;

编译结果在out32dll目录下,这样执行的是动态链接;


执行: nmake -f ms/nt.mak
该命令生成静态库,默认使用的是MT,生成的静态库输出到out32目录下。

修改运行库的链接方式,修改ntdll.mak里面的“CFLAG= /MD /Ox ..............” 为 /MT ,然后重新编译,执行

其它命令:
nmake -f ms/ntdll.mak clean // 清除编译的中间文件
nmake -f ms/ntdll.mak install //安装 ,主要是linux下面会自动放到程序目录中


编译过程中出现的问题:

     由于使用的系统是win7-x64,在选择vs command prompt时首先选中的是x64 win64 command prompt,结果编译最后提示:
NMAKE : fatal error U1077: '"D:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\link.EXE"' : return code '0x458'

因为第一步配置时设置的是win32,这里用x64的环境去编译,link不出问题才奇怪了。


64位库编译过程如下:

    启动:x64 win64 command prompt;

    > perl Configure VC-WIN64

    > ms/do_ms.bat

    > nmake -f ms/nt.mak 或ntdll.mak



   


版权声明:本文为amglxg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。