在Visual Studio 2013中构建OpenSSL

Build OpenSSL in Visual Studio 2013

本文关键字:构建 OpenSSL 2013 Visual Studio      更新时间:2023-10-16

如何在Visual Studio 2013中构建OpenSSL?我尝试在本课中进行编译,但有一个错误: Assembling: tmp32x86_64cpuid.asm tmp32x86_64cpuid.asm(1) : error A2088:END directive required at end of file NMAKE : fatal error U1077: "C:Program Files (x86)Microsoft Visual Studio 12.0我在 x64 下编译。可能是什么问题?提前谢谢你。

我在这里写了一个构建OpenSSL的注释(Unix和Windows)。

确保使用原始的 OpenSSL 源代码(不要重复使用编译的源代码)。

打开 Visual Studio x64 Win64 命令提示符 (2010) (在"开始"菜单中)

%comspec% /k ""C:Program Files (x86)Microsoft Visual Studio 12.0VCvcvarsall.bat"" amd64
perl Configure VC-WIN64A --prefix=C:openssl_x64 no-asm no-shared enable-tlsext enable-static-engine
msdo_win64a
nmake -f msntdll.mak
nmake -f msntdll.mak install

我记得在将OpenSSL 1.0.2d构建为静态库时也遇到了相同的错误。对我有用的解决方案如下:

在新的命令行窗口中构建OpenSSL并将其安装到C:\build\bin\openssl-1.0.2d-x64目录中:

cd C:buildsrcopenssl-1.0.2d-x64
set PATH=%PATH%;C:nasm
"C:Program Files (x86)Microsoft Visual Studio 12.0VCvcvarsall.bat" amd64
perl Configure VC-WIN64A --prefix=C:buildbinopenssl-1.0.2d-x64 enable-static-engine
msdo_win64a
nmake /f msnt.mak
nmake /f msnt.mak test
nmake /f msnt.mak install

生成的构建位于 C:\build\bin\openssl-1.0.2d-x64 目录中。

希望有帮助!

> 以这个答案更新为Visual Studio 2015

1 - 确保使用 1.0.2h openssl 源代码。

2 - 确保安装(旧)nasm(不是最新版本):使用2013年的2.11版本[1]:http://www.nasm.us/pub/nasm/releasebuilds/2.11/,并将其放在您的道路上。

3 - 打开任何正常的命令提示符 (cmd) - 首选管理员 - 并在下载源的根目录中执行这些命令。

%comspec% /k ""C:Program Files (x86)Microsoft Visual Studio 12.0VCvcvarsall.bat"" amd64
perl Configure VC-WIN64A --prefix=C:openssl_x64 no-asm no-shared enable-tlsext enable-static-engine
msdo_win64a
nmake -f msntdll.mak
nmake -f msntdll.mak install

> Visual Studio 2017 更新:

1)我使用了1.0.2h openssl源。我没有尝试过其他版本。

2)已经安装了perl并放在你的PATH中。

3) 安装 NASM 并将其添加到您的PATH(例如,到 C:\NASM 和/或编辑下面的PATH设置)。最新版本(2.13.1)对我来说效果很好。

4) 检查并在需要时编辑下面使用的vcvarsall.bat路径。

5) (

可选)在命令中编辑安装文件夹 (通过 --prefix 设置)。

6) 在下载源的根目录中打开命令提示符,(编辑并)执行以下命令:

set PATH=%PATH%;C:nasm
%comspec% /k ""C:Program Files (x86)Microsoft Visual Studio2017ProfessionalVCAuxiliaryBuildvcvarsall.bat"" amd64
perl Configure VC-WIN64A --prefix=C:openssl_x64 no-asm no-shared enable-tlsext enable-static-engine
msdo_win64a
nmake -f msntdll.mak
nmake -f msntdll.mak install

7)(可选)如果您安装了多个版本的 VS,您可能需要验证是否执行了正确版本的 nmake14.10.*而不是例如 14.0*12.*