当前位置: 首页 > news >正文

凡客网站规划与建设ppt青岛建站

凡客网站规划与建设ppt,青岛建站,台州网站建设方案策划,百度小程序wordpress踩坑记录:因版本不匹配导致 Boost 1.85 编译失败的完整解决过程 转载请注明出处,欢迎评论区交流。 背景 最近在 Windows 11 VS2022 环境下尝试用 b2 编译 Boost 1.85.0,结果一路踩坑,最后发现罪魁祸首是 Boost.Build 自带的 msv…

踩坑记录:因版本不匹配导致 Boost 1.85 编译失败的完整解决过程

转载请注明出处,欢迎评论区交流。

背景

最近在 Windows 11 + VS2022 环境下尝试用 b2 编译 Boost 1.85.0,结果一路踩坑,最后发现罪魁祸首是 Boost.Build 自带的 msvc.jam 对 VS 17.10(14.4)识别不完整
官方 issue #931 里也提到了同样的报错,但没有一个完整的解决流程,于是把今天的填坑过程记录下来,希望能帮到后来者。


现象

执行:

bootstrap.bat
b2 toolset=msvc-14.4 variant=release

很快报错退出,关键信息:

...patience...
...found 1891 targets...
...updating 4 targets...
msvc.write-setup-script
bin.v2\tools\build\src\engine\msvc-setup.bat
The system cannot find the path specified.

随后 b2 直接退出,返回码 1。用 --debug-configuration 再跑一次,发现 msvc.jam 里这一段:

if [ MATCH "(14.4)" : $(version) ]
{parent = [ path.native [ path.join $(parent) "..\..\..\..\..\Auxiliary\Build" ] ] ;
}

并没有被执行,也就是说 Boost.Build 根本没把 14.4 当成合法版本,于是 vcvarsall.bat 的路径就拼错,导致找不到编译环境。


根因分析

  1. Boost.Build 1.85 的 msvc.jam 只识别到 14.3
    用文本编辑器打开
    boost_1_85_0\tools\build\src\tools\msvc.jam
    搜索 14.3 能看到对应的 if 分支,但 没有 14.4

  2. **VS2022 17.10 的 _MSC_VER = 1940**, 对应 14.4` 工具集,Boost.Build 不认识,于是 fallback 失败。


解决方案(任选其一)

✅ 方案 A:官方补丁文件直接替换(推荐)

  1. 下载官方提供的 msvc.zip

  2. 关闭所有占用 boost_1_85_0\tools\build\src\tools\msvc.jam 的编辑器/IDE。

  3. 把压缩包里的 msvc.jam 覆盖到
    boost_1_85_0\tools\build\src\tools\msvc.jam

  4. 重新执行:

    b2 toolset=msvc-14.4 -j8
    
  5. 编译顺利通过。

✅ 方案 B:手动打补丁(不想覆盖文件时)

msvc.jamelse if [ MATCH "(14.3)" : $(version) ] 后面追加:

else if [ MATCH "(14.4)" : $(version) ]
{if $(.debug-configuration){ECHO "notice: [generate-setup-cmd] $(version) is 14.4" ;}parent = [ path.native [ path.join $(parent) "..\..\..\..\..\Auxiliary\Build" ] ] ;
}

保存后重新 b2 即可。
在这里插入图片描述


验证

>b2 --version
B2 4.10.1 (OS=NT, jobs=8)>b2 toolset=msvc-14.4 address-model=64 architecture=x86 variant=release --with-system --with-filesystem
...found 2037 targets...
...updating 18 targets...
...updated 18 targets...

输出无报错,生成的 .lib.dll 也正常。


小结

  • Boost 1.85 尚未完全适配 VS2022 17.10,但社区补丁已经可用。
  • 如果后续 VS 再升级,大概率还会遇到同样问题,直接照葫芦画瓢在 msvc.jam 里加一行即可。
  • 建议把补丁文件存一份到私有仓库,CI/CD 里自动打补丁,避免每次手动操作。

参考资料

  • GitHub issue #931: (需要翻墙)
    Why can’t I build boost in my computer?

http://www.dtcms.com/a/614077.html

相关文章:

  • 低成本开发者工作生存手册
  • 网站集约化建设意义linux网站服务器配置
  • Go语言编译型 | 理解Go语言的编译特性与优势
  • SSM交通违章举报平台lxsqm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Java 基于Java语法实验专题
  • Android并发编程三剑客:深入理解CountDownLatch、CyclicBarrier和Semaphore
  • OS进程控制
  • datax的shell脚本常见报错
  • Java在线编译C语言 | 快速高效的跨语言在线编译工具
  • 前端响应式图片实现,srcset与sizes
  • 品牌网站建设解决期货软件定制开发公司
  • OpenCV(二十五):方盒滤波与均值滤波
  • Vscode 配置C++ Mingw调试、编译环境-无需修改系统PATH变量的VS Code配置方法
  • superset_config.py 配置文件的参数详解
  • 搭建本地deepseek大模型
  • 阳泉 网站建设合作网页设计心得体会2000字
  • 网站程序授权码电商网站经营性备案
  • 自动化测试任务或者定义AI AGENT(智能体)任务,通过使用它可以操作浏览器来执行特定操作,如访问网页、单击按钮、提取网页信息等。 ...
  • BFS 广度优先搜索算法
  • Jinja 模板引擎介绍文档
  • 深圳响应样式网站建设费用灵台县门户网
  • Excel工作簿自动销毁功能,使用时间到期后自动删除文件
  • Linux-信号2
  • 河南省两学一做网站官网建设的意义
  • 【Python TensorFlow】BiTCN-BiGRU双向时间序列卷积双向门控循环神经网络时序预测算法(附代码)
  • 公司网站策划书广州工商注册流程
  • C语言是一种编译器吗 | 探讨C语言及其编译原理
  • LeetCode热题100--39. 组合总和
  • 网站开发包含网站维护吗网站建设的技术保证怎么写
  • Java事件处理机制