tmp32dllsha1-586.asm(1432) : error A2070:invalid instruction operands

发布于 2020-05-06  50 次阅读


问题描述:

在用vc2010命令行编译openssl-1.0.2d的时候出现以下错:

Building OpenSSL

       perl .utilcopy-if-different.pl “.cryptobuildinf.h” “tmp32dllbuildin

f.h”

Copying: ./crypto/buildinf.h to tmp32dll/buildinf.h

       perl .utilcopy-if-different.pl “.cryptoopensslconf.h” “inc32openssl

opensslconf.h”

NOT copying: ./crypto/opensslconf.h to inc32/openssl/opensslconf.h

       ml /nologo /Cp /coff /c /Cx /Zi /Fotmp32dllsha1-586.obj tmp32dllsha1-5

86.asm

Assembling: tmp32dllsha1-586.asm

tmp32dllsha1-586.asm(1432) : error A2070:invalid instruction operands

tmp32dllsha1-586.asm(1576) : error A2070:invalid instruction operands

NMAKE : fatal error U1077: “”G:Program Files (x86)Microsoft Visual Studio 10.

0VCBINml.EXE””: 返回代码“0x1”

Stop.

解决方法:

方法一:

需要用nasm ,

先 msdo_nasm

然后

nmake -f msntdll.mak -a

方法二:

禁用汇编

配置时用 perl Configure VC-WIN32 no-asm

生成makefile时用 msdo_nasm

这样就可以了

 


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。