| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> Windows下boringssl和lsquic编译方法 -> 正文阅读 |
|
[C++知识库]Windows下boringssl和lsquic编译方法 |
????????近期工作原因需要在Windows下编译lsquic库,网上查找了下相关资料,发现并不完整,踩了很多坑,这里记录下编译过程。 ????????官方参考文档:https://github.com/litespeedtech/lsquic/blob/master/BUILD-WINDOWS.md ????????依赖项:Perl,Go,boringssl,zlib,libevent ????????安装工具:这里使用vcpkg,cmake,vs2015 Update3及以上,使用vcpkg工具则vs必须包含英语语言包,或者不使用vcpkg工具自行下载编译相关依赖库(zlib,libevent)。推荐一个vs下载地址,MSDN。 ? ? ? ? 编译lsquic,必须先编译boringssl,boringssl编译过程如下: ? ? ? ? 1.?安装Go语言安装包,官网下载安装即可 ????????2. 安装Perl,官网下载安装即可。这里直接下载安装二进制文件,其他方法下载太慢或需要编译源码。注意使用命令行工具运行安装脚本时,必须以管理员权限运行命令行工具。 ???????? ? ? ? ? 3. 安装vcpkg,参考https://github.com/microsoft/vcpkg/blob/master/README_zh_CN.md ? ? ? ? 4. 以上工具安装完成后,为方便的在命令行使用相关命令,需要设置下环境变量,参考下图示例,Path环境变量下没有vcpkg和ActivateState安装目录的话,需要手动添加下: ???????? ? ? ? ? 5. 环境变量设置完成后,需要重新打开一个命令行窗口,否则环境变量可能未生效 ? ? ? ? 6. 要编译64位库,在命令行输入
? ? ? ? ?安装64位zlib库,如果想要编译32位库,参数修改为x86-windows-static,本文编译32位库 ? ? ? ? 7. 相同的,输入以下命令安装32位libevent库
? ? ? ? 到这里,所需依赖库已经基本安装完成,接下来正式开始boringssl的编译。 ? ? ? ? 8. 启用Perl环境,在命令行输入?
? ? ? ? 你安装的版本号可能与之不同,选择你安装的Perl并启动,启动成功后如下图所示 ???????? 9. 切换到你的boringssl源代码路径,boringssl源代码请从GitHub获取,GitHub上代码路径https://github.com/google/boringssl,注意,跨盘符时,直接使用cd命令会切换路径失败,需要先使用“[盘符]:”切换到相应盘符,再使用cd命令到相应文件夹,参考下图 ???????? ? ? ? ? ?在boringssl源代码路径下,可以看到CMakeLists.txt,个人习惯在该目录下新建文件夹build,进入该目录,输入以下命令生成vs工程:
? ? ? ? 参考官方文档会发现比之少了两个参数,-DCMAKE_GENERATOR_PLATFORM=x64和--config Debug,这两个参数会引起cmake错误,原因还未搞清楚,可能是没有使用vs的命令行工具导致,但是即使使用vs命令行工具,激活Perl环境时似乎会清除vs命令行设置的环境变量,依然会报错,所以还是打开sln工程进行编译。 ? ? ? ? ?10. 打开BoringSSL.sln,生成解决方案,此时应该会编译失败,提示无法打开cypto.lib,这是因为编译cypto工程失败,在命令行输入
? ? ? ? 再重新编译即可,原因参考https://blog.csdn.net/qq_22211217/article/details/101854419 ? ? ? ? 到这里,boringssl已经编译完成,接下来终于可以开始编译lsquic了。首先当然是需要下载下来lsquic的源码了,链接:https://github.com/litespeedtech/lsquic ? ? ? ? 11. 进入lsquic目录,新建build文件夹并在命令行进入该文件夹,输入以下命令生成sln工程:
? ? ? ? 对其中几个参数解释下: ? ? ? ? (1)DCMAKE_BUILD_TYPE,这个根据你生成的boringssl的版本来填,而且一定要填写正确,因为cmake会根据这个参数和DBORINGSSL_DIR参数来查找依赖库 ? ? ? ? (2)DBORINGSSL_DIR,boringssl库生成目录 ????????(3)DBORINGSSL_INCLUDE,boringssl头文件目录 ? ? ? ? (4)DCMAKE_TOOLCHAIN_FILE,指示vcpkg下载的依赖库和头文件路径 ? ? ? ? (5)DVCPKG_TARGET_TRIPLET,指示vcpkg需要的依赖库类型 ? ? ? ? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 17:39:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |