在Visual Studio 2013中构建OpenSSL
Build OpenSSL in Visual Studio 2013
如何在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
路径。
可选)在命令中编辑安装文件夹 (通过 --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,您可能需要验证是否执行了正确版本的 nmake
(14.10.*
而不是例如 14.0*
或12.*
)
- C++为构建时间获取QDateTime的可靠方法
- OpenSSL with CMake - 未知选项: --sysroot 在构建 openSSL 时
- 如何使用Visual Studio 2017在Windows上构建OpenSSL?
- 使用 VS2017 构建 OpenSSL 后出现一些链接错误。 " OPENSSL_init_ssl referenced in function _main " ?
- 使用 openssl 构建静态二进制文件的正确方法是什么?
- 如何使用 Bazel 构建包含 openssl 的第三方 c++ 库
- 在Win64失败上构建OpenSSL
- Visual Studio构建OpenSSL,具有符号的下强前缀
- 用bjam用openssl构建libtorrent
- 在VS2010上构建openssl时出错
- 从源代码构建Qt静态,启用OpenSSL支持
- 在Visual Studio 2013中构建OpenSSL
- QT https SSL支持静态QT静态程序构建 - 仍然需要openssl dll
- 如何使用调试符号构建 openssl?[添加自由.pdb]
- 如何在Windows中使用MinGW构建OpenSSL
- 使用 OpenSSL 库"___report_rangecheckfailure"构建错误
- 构建nginx和OpenSSL时出错
- OpenSSL:无法在VC++ 2010中构建
- 在Borland c++ Builder下构建OpenSSL, Win 8.1
- 正在构建用于编译boost的Openssl源代码