当尝试使用Visual Studio 2017构建Boost库1.69.0时,如何诊断或解决错误“rule”package.paths“unknown”?

问题描述 投票:0回答:2

尝试使用Visual Studio 2017在Windows 10上从全新,干净,结帐时构建Boost 1.69.0时,遇到以下混淆错误消息:

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
C:/90cf73ea/tools/boost_install/.\boost-install-dirs.jam:15: in boost-install-dirs.includedir
ERROR: rule "package.paths" unknown in module "boost-install-dirs".
C:/90cf73ea/libs/headers/build/../../../tools/boost_install\boost-install.jam:721: in boost-install.install-cmake-config
libs\headers\build\Jamfile:87: in modules.load
C:/90cf73ea/tools/build/src/build\project.jam:375: in load-jamfile
C:/90cf73ea/tools/build/src/build\project.jam:64: in load
C:/90cf73ea/tools/build/src/build\project.jam:89: in load-used-projects
C:/90cf73ea/tools/build/src/build\project.jam:75: in load
C:/90cf73ea/tools/build/src/build\project.jam:145: in project.find
C:/90cf73ea/tools/build/src\build-system.jam:618: in load
C:\90cf73ea\tools\build\src/kernel\modules.jam:295: in import
C:\90cf73ea\tools\build\src/kernel/bootstrap.jam:139: in boost-build
C:\90cf73ea\boost-build.jam:17: in module scope

我正在从VS2017命令提示符执行构建命令。我能够毫无问题地执行“bootstrap.bat”。运行“b2.exe toolset = msvc-14.1”(无论任何进一步的参数)会导致上述错误消息。我该如何诊断和/或解决此错误?

boost
2个回答
0
投票

我不会远程理解为什么会出现这种情况,但我通过将git从2.18.0更新到版本2.20.1解决了这个问题。

我在boost build邮件列表上得到了这个建议:

此错误表示构建子模块不是最新的。 - Steven Watanabe

我推测git版本2.18.0中的某些内容与boost build子模块有争议。故事的道德似乎是,检查你的git版本是否需要更新。


0
投票

仅供参考,在我的情况下,我克隆了Boost回购(目前为1.70.0)。试图建立并得到这个错误。然后我做了一个“git status”,发现了一堆未跟踪的库(大概来自1.70.0分支)。删除所有未跟踪的目录允许我构建。

希望有人帮助!

© www.soinside.com 2019 - 2024. All rights reserved.