准备工作:
安装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 ,然后重新编译,执行
修改运行库的链接方式,修改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版权协议,转载请附上原文出处链接和本声明。