OpenSSL:Nmake致命错误U1077:' ias' :返回代码' 0x1'

时间:2016-07-25 16:24:42

标签: c++ windows perl visual-c++ openssl

我试图在Windows 10 64位上设置OpenSSL,按照说明到目前为止,安装Visual Studio后我试图使用Visual c + + +命令提示符在openssl目录中找到以下错误:

{{1}}

如果我尝试编译32位版本,则此错误不同。这导致引用NASM的错误,我试图安装而没有运气。

有人可以建议解决方案吗?

感谢您抽出宝贵时间阅读我的问题。

2 个答案:

答案 0 :(得分:5)

问题与长文件名无关。 @Sebastian没有安装ias。在任何情况下,他都不应该使用ias

如果希望OpenSSL利用汇编语言优化,则需要nasm

如果没有,您可以将no-asm传递给Configure

取决于您的操作系统

  Windows上的

(仅选择其中一个配置目标):

$ perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE }

您需要VC-WIN32VC-WIN64A。这是how I did it1.0.1g是该帖子当前的版本。

  1. 下载最新的源代码分发
  2. 启动适用的VC命令提示符
  3. (可选)获取zlib,构建DLL
  4. 获取nasm并构建可执行文件
  5. 如果确实要求zlib,请将目录添加到INCLUDE和LIB:

    C:\…\openssl-1.0.1g> set INCLUDE=%INCLUDE%;C:\…\zlib-1.2.8
    C:\…\openssl-1.0.1g> set LIB=%LIB%;C:\…\zlib-1.2.8
    
  6. 运行C:\…\openssl-1.0.1g> perl Configure VC-WIN64A zlib-dynamic --openssldir=C:\opt\OpenSSL

  7. 运行C:\…\openssl-1.0.1g> ms\do_win64a

  8. 运行C:\…\openssl-1.0.1g> nmake -f ms\ntdll.mak

  9. cd到out32dll,然后运行.. \ ms \ test

  10. 确保所有测试通过:

  11. 通过执行以下操作安装:

    C:\…\openssl-1.0.1g\out32dll> cd ..
    C:\…\openssl-1.0.1g> nmake -f ms\ntdll.mak install
    
  12. PS:如果您正在构建OpenSSL以与Strawberry Perl一起使用,请注意perl.exe将使用gcc编译,因此,您应该使用Strawberry Perl附带的gcc来构建OpenSSL。

    如果要构建库以用于使用MSVC工具链构建的项目,则可以忽略此注释。

答案 1 :(得分:0)

我的解决方案:
  - openssl-OpenSSL_1_0_0q; perl 5.8
  - 提取源代码
  - 下载Nasm.exe - http://www.nasm.us/
注意 - 尝试从源代码构建给我带来错误。我下载nasm-2.13.01-win64; nasm.exe并将其移动到openssl install \ working文件夹   - 启动VS2012 X86命令提示符 - 并运行以下命令:

`c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"` 
`perl Configure VC-WIN32 --prefix=C:\Build-OpenSSL-VC-32`
`ms\do_nasm.bat`
`nmake -f ms\nt.mak`
`nmake -f ms\nt.mak install`