我试图在Windows 10 64位上设置OpenSSL,按照说明到目前为止,安装Visual Studio后我试图使用Visual c + + +命令提示符在openssl目录中找到以下错误:
{{1}}
如果我尝试编译32位版本,则此错误不同。这导致引用NASM的错误,我试图安装而没有运气。
有人可以建议解决方案吗?
感谢您抽出宝贵时间阅读我的问题。
答案 0 :(得分:5)
问题与长文件名无关。 @Sebastian没有安装ias
。在任何情况下,他都不应该使用ias。
如果希望OpenSSL利用汇编语言优化,则需要nasm。
如果没有,您可以将no-asm
传递给Configure
。
取决于您的操作系统
Windows上的(仅选择其中一个配置目标):
$ perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE }
您需要VC-WIN32
或VC-WIN64A
。这是how I did it。 1.0.1g
是该帖子当前的版本。
如果确实要求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
运行C:\…\openssl-1.0.1g> perl Configure VC-WIN64A zlib-dynamic --openssldir=C:\opt\OpenSSL
运行C:\…\openssl-1.0.1g> ms\do_win64a
运行C:\…\openssl-1.0.1g> nmake -f ms\ntdll.mak
cd到out32dll,然后运行.. \ ms \ test
确保所有测试通过:
通过执行以下操作安装:
C:\…\openssl-1.0.1g\out32dll> cd ..
C:\…\openssl-1.0.1g> nmake -f ms\ntdll.mak install
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`