【发布时间】:2017-08-23 07:33:47
【问题描述】:
背景
计划使用 Boost 提供的一些工具进行文件系统遍历和提取相关文件名。 (如果需要,可以扩展到 Boost 提供的其他功能)。
使用的 IDE:代码块 16.0.1
编译器:minGW 4.9.2(自带上述 IDE 标准安装)
操作系统 :版本 10.0.15063
到目前为止我做了什么
- 将 minGW 设置为 SysPath
- 下载 boost_1_65_0 并将其解压到 C:\User\user\Documents\boost_1_65_0
- 使用 CMD 通过
bootstrap.bat gcc
使用 CMD 通过 gcc 工具集调用引导程序(遇到 error-01) - 使用 Boost 提供的替代方法下载 Boost-Jam 的预构建二进制文件。
- 下载并构建 Boost-Jam,通过命令
build.bat gcc在 Boost Jam(版本 3.1.18)目录中创建 bin.ntx86 目录 - 将..\boost-jam-3.1.18\bin.ntx86的目录添加到SysPath
- 尝试通过命令
bjam --toolset=gcc "--prefix=D:\SoftwareDevelopmentTools\CodeBlocks" install再次构建 boost
(遇到 error-02 & warning-01 )
注意:第 7 项基于在 Codeblocks BoostWindowsQuickRef 给出的说明
遇到的错误
错误 01:
构建 Boost.Build 引擎
C:\Users\user\AppData\Local\Temp\ccayvfUp.o:execnt.c:(.text+0x1237):undefined reference to UnregisterWait
C:\Users\user\AppData\Local\Temp\ccayvfUp.o:execnt.c:(.text+0x12fe):undefined reference to RegisterWaitForSingleObject
collect2.exe:错误:ld 返回 1 个退出状态
bootstrap.log 上的输出
###
### 使用“gcc”工具集。
###
C:\Users\user\Documents\boost_1_65_0\tools\build\src\engine>如果存在 bootstrap rd /S /Q bootstrap
C:\Users\user\Documents\boost_1_65_0\tools\build\src\engine>md 引导
C:\Users\user\Documents\boost_1_65_0\tools\build\src\engine>gcc -DNT -o bootstrap\jam0.exe command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt。 c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native .c 模块/set.c 模块/path.c 模块/regex.c 模块/property-set.c 模块/sequence.c 模块/order.c
C:\Users\user\Documents\boost_1_65_0\tools\build\src\engine>exit /b 1
错误 02:
请注意,这是在 warning-01 之后的输出中(请参阅下面的警告遇到)
'python' 未被识别为内部或外部命令, 可运行的程序或批处理文件。
C:/Users/user/Documents/boost_1_65_0/tools/build/src/tools\python.jam:669: 在 declare-libpython-target
*** 参数错误
* 规则拆分版本(版本)
* 调用:( )
* 缺少参数版本
C:/Users/user/Documents/boost_1_65_0/tools/build/src/tools\python.jam:383:查看被调用规则“split-version”的定义
C:/Users/user/Documents/boost_1_65_0/tools/build/src/tools\python.jam:971:在配置中
C:/Users/user/Documents/boost_1_65_0/tools/build/src/tools\python.jam:115: 在 python.init
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\toolset.jam:42: 在使用中 libs\python\build\Jamfile:17:在 modules.load
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\project.jam:325: 在 load-jamfile
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\project.jam:64: 加载中
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\project.jam:89: 在 load-used-projects
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\project.jam:75: 加载中
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\project.jam:145: 在 project.find
C:/Users/user/Documents/boost_1_65_0/tools/build/src\build-system.jam:535: 加载中
C:\Users\user\Documents\boost_1_65_0\tools\build\src/kernel\modules.jam:295:导入中
C:\Users\user\Documents\boost_1_65_0\tools\build\src\kernel\bootstrap.jam:139: 在 boost-build
C:\Users\user\Documents\boost_1_65_0\boost-build.jam:17:在模块范围内
遇到警告
警告 01:
警告:Boost.Build 引擎和核心版本不匹配
警告:Boost.Build 引擎 (bjam) 是 03.1.18
警告:Boost.Build 核心(位于 C:/Users/user/Documents/boost_1_65_0/tools/build/src)是 2015.07-git
我对自己做错了什么或可能错过的步骤感到非常困惑。这是我第 6 次尝试构建 boost
更新 01
安装 Python 3.6 并使用此命令重新启动构建
bjam --toolset=gcc "--prefix=D:\SoftwareDevelopmentTools\CodeBlocks" install
遇到这个错误
C:/Users/user/Documents/boost_1_65_0/tools/build/src/util\path.jam:458: 在 path.makedirs 模块路径中的规则 MAKEDIR 未知。
C:/Users/user/Documents/boost_1_65_0/tools/build/src/build\configure.jam:279: 在configure.set-log-file
C:/Users/user/Documents/boost_1_65_0/tools/build/src\build-system.jam:679: 加载中
C:\Users\user\Documents\boost_1_65_0\tools\build\src/kernel\modules.jam:295:导入中
C:\Users\user\Documents\boost_1_65_0\tools\build\src\kernel\bootstrap.jam:139: 在 boost-build
C:\Users\user\Documents\boost_1_65_0\boost-build.jam:17:在模块范围内
【问题讨论】:
-
别担心@NickyHFE,你并不孤单。我给here 的指示仍然对我有用。但是,我的机器上安装了 Python 3.6,这可能是不同的......
-
嗯..我会尝试安装Py看看是否有所不同
标签: boost