ActivePerl-5.16.0.1600
VC 6.0
openssl: 1.0.1e
MASM8.0
继续用winrar解压缩vc_masm1.cab得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为ml.exe(安装vc2005运行库,否则ml.exe无法运行)
测试得到的ml.exe , 应该显示: Microsoft (R) Macro Assembler Version 8.00.50727.104,拷贝ml.exe到“...\vc98\bin"目录。
4、c:/openssl-1.0.1e>ms\do_ms
一、 NMAKE : fatal error U1077: 'ml' : return code '0x1'
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
ml /nologo /Cp /coff /c /Cx /Fotmp32dll/sha512-586.obj tmp32dll/sha512-5
86.asm
Assembling: tmp32dll/sha512-586.asm
MASM version 8.00 or later is strongly recommended.
error A4910: cannot open file: C:/masm32/bin/ml.err
tmp32dll/sha512-586.asm(97) : error A2008: : mm
NMAKE : fatal error U1077: 'ml' : return code '0x1'
Stop.
解决方法:
MASM的版本过低, 我安装的MASM32中C:/masm32/bin>ml
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserv
MASM8.0可以从微软网站自由获取,地址如下:
获取后,得到的是安装包MASMSetup.exe,没有装VC2005的话,无法安装,解决方法如下:
用winrar解压缩MASMSetup.exe得到:setup.exe
继续用winrar解压缩setup.exe 得到:vc_masm1.cab
继续用winrar解压缩vc_masm1.cab得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为ml.exe(安装vc2005运行库,否则ml.exe无法运行)
测试得到的ml.exe , 应该显示: Microsoft (R) Macro Assembler Version 8.00.50727.104
将生成的ml.exe拷贝到C:/masm32/bin目录下,将原来的ml.exe覆盖即可。
这个在openssl官方网站上找到了,方法是禁用IPV6
perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0
这个错误产生的原因是:
随着VC7/VC8中新的debug信息格式和一些安全检查机制的导入,在VC6上使用这些库的Debug版本的时候 就会产生如题的链接错误。具体而言,你可能在VC6上使用了XP SP2,Windows 2003或者Windows 2003 R2 版本的SDK。 解决办法: 1.用Release版编译,不过这样就没法调试了。 把ntdll.mak中
LFLAGS=/nologo /subsystem:console /opt:ref /debug ---> LFLAGS=/nologo /subsystem:console /opt:ref /release
MLFLAGS= /nologo /subsystem:console /opt:ref /debug /dll ---> MLFLAGS= /nologo /subsystem:console /opt:ref /release /dll
2.到Tool -> Options -> Directories(以VC6.0为例),将SDK的顺序放到最下边或者直接删掉较新SDK 的Directories:包括Include files和Library files。 3.如果你必须使用SDK中的新特性,那么找一个2004年之前的SDK吧。 这里是最后一版支持VC6的SDK的下载地址: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm 4.方便的话,干脆迁移到VC7/VC8。 |