SSL编译问题

博客文章移至:http://www.cnso.org/189/3755.html

昨天测试时发现原先写的一个发送邮件的客户端程序在向邮件服务器发送邮件的时候失败了,原先一直很好用的,调试发现问题出在SSL身上,因为前段时间爆出SSL存在严重漏洞,现在已经修复了该漏洞,估计是邮件服务器已经更新了SSL算法,而我这边还没有更新SSL算法导致的,于是就去OpenSSL官网下载了openssl-1.0.1g。

按照INSTALL.W32中的提示,去http://www.activestate.com/ActivePerl下载了Perl,按步骤执行:

1、perl Configure VC-WIN32

2、perl Configure VC-WIN32 no-asm\\不使用asm

3、 ms\do_ms

4、nmake -f ms\ntdll.mak

5、nmake -f ms\ntdll.mak test\\测试

6、nmake -f ms\ntdll.mak install\\安装

步骤5、6可以不进行

实际操作的时候失败了,vsvars32.bat设置VC2008环境变量配置不上去,运行好多次都没有成功配置上(win7 x64系统,VS2008),每次查看环境变量PATH都没变化,因为时间比较近也没有进行深入研究,找了个编译好的用在了项目里,下载地址:http://www.slproweb.com/products/Win32OpenSSL.html

参考了下列网站链接:

http://lwglucky.blog.51cto.com/1228348/325483

http://blog.youkuaiyun.com/qiang81020/article/details/4212739

http://blog.youkuaiyun.com/kongbu0622/article/details/4225254

<think>好的,我现在需要帮助用户了解如何在Windows上编译BoringSSL,特别是使用CMake进行配置和构建的步骤。首先,我得回顾自己掌握的相关知识,并确保步骤正确。 用户提到的引用中有三个来源:[1]是BoringSSL的镜像地址,[2]和[3]涉及VS工程文件的生成和gRPC在Windows上的编译。这可能意味着用户可能在使用BoringSSL作为依赖项,比如用于gRPC,所以编译BoringSSL可能是为了其他项目如gRPC做准备。 首先,BoringSSL编译通常需要CMake和Visual Studio的支持。根据引用[2]和[3],用户可能需要生成VS工程文件,并使用VS进行编译。因此,步骤可能包括安装必要的工具链,如CMake、Visual Studio,以及可能的Perl和NASM,因为BoringSSL的构建脚本可能需要这些工具。 接下来,我需要确认BoringSSL的官方文档或常见构建步骤。通常,BoringSSL使用CMake作为构建系统。在Windows上,通常的步骤是: 1. 安装依赖:CMake、Visual Studio(特别是C++组件)、Perl(可能用于生成文件)、NASM(汇编器)。 2. 克隆仓库:使用git克隆BoringSSL的仓库。 3. 生成构建文件:运行CMake命令生成VS解决方案。 4. 使用Visual Studio编译生成的解决方案。 需要注意的点是,用户可能需要将Perl和NASM添加到系统路径,或者在CMake配置时指定它们的路径。此外,可能需要选择正确的生成器(比如Visual Studio的版本)在CMake命令中。 另外,引用[3]提到进入VS2015的VC/bin目录执行某些命令,这可能与设置环境变量有关,比如运行vcvarsall.bat来配置VS的命令行环境。因此,在构建之前,可能需要打开VS的开发人员命令提示符,或者手动设置环境变量。 可能的步骤总结: 1. 安装必要工具:Git、CMake、Visual Studio(如2015或更高)、Perl、NASM。 2. 克隆BoringSSL仓库。 3. 打开VS的开发人员命令提示符,切换到项目目录。 4. 创建构建目录,运行CMake生成解决方案。 5. 使用MSBuild或VS打开解决方案进行编译。 需要验证这些步骤是否正确,尤其是CMake参数是否必要,比如是否要指定生成器(-G "Visual Studio 14 2015"等)。此外,BoringSSL可能有特定的构建说明,比如需要启用某些选项或禁用测试等。 可能的问题点:用户可能遇到路径问题,或者缺少依赖导致构建失败。例如,如果Perl不在PATH中,构建脚本可能无法执行。或者NASM未安装,导致汇编步骤失败。 因此,在回答中需要详细列出每个步骤,并提示可能的依赖安装和环境配置。同时,根据引用[2]和[3],可能需要指导用户如何正确设置VS的环境变量,比如运行vcvarsall.bat或在正确的命令行环境下执行构建命令。 最后,确保用户能够按照步骤成功编译,并处理常见的错误情况,如缺少工具、路径错误等。</think>以下是在Windows上使用CMake编译BoringSSL的详细步骤: --- ### **1. 环境准备** - **安装Visual Studio** 需安装Visual Studio 2015或更高版本,并确保勾选**C++开发工具**组件[^2]。 - **安装CMake** 从[官网](https://cmake.org/download/)下载并安装CMake(版本≥3.15)。 - **安装Perl和NASM** - **Strawberry Perl**(用于脚本执行):[下载地址](http://strawberryperl.com/) - **NASM汇编器**(版本≥2.14):[下载地址](https://www.nasm.us/) 安装后需将`perl.exe`和`nasm.exe`所在目录添加到系统`PATH`环境变量。 --- ### **2. 获取BoringSSL源码** ```bash git clone https://gitcode.com/gh_mirrors/bo/boringssl.git cd boringssl ``` --- ### **3. 生成VS工程文件** 1. 打开**VS开发人员命令提示符**(如VS2015的`x86 Native Tools Command Prompt`)[^3]。 2. 执行以下命令: ```bash # 创建构建目录 mkdir build cd build # 运行CMake生成VS解决方案(假设VS2015) cmake .. -G "Visual Studio 14 2015" ``` - 若使用更高版本VS(如VS2019),替换为`-G "Visual Studio 16 2019"`。 - 若需指定架构(x64),添加`-A x64`参数。 --- ### **4. 编译BoringSSL** - **方法1:命令行编译** 在`build`目录下执行: ```bash cmake --build . --config Release ``` - **方法2:IDE手动编译** 双击生成的`boringssl.sln`文件,在VS中选择`Release`配置并构建。 --- ### **5. 验证输出** 编译成功后,静态库文件(如`crypto.lib`、`ssl.lib`)会生成在`build\Release`目录下。 --- ### **常见问题** 1. **CMake报错缺少Perl/NASM** 检查环境变量`PATH`是否包含Perl和NASM的安装路径。 2. **链接错误** 确保使用**相同VS版本**生成工程文件和执行编译。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daiafei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值