原码
在CodeBlocks环境下的编译boost库时
bjam install --toolset=gcc--prefix="G:\Library\boost_1_72_0" --build-type=complete
报错
G:/Library/boost_1_72_0/tools/build/src/tools\gcc.jam:203: in gcc.init from module gcc
error: toolset gcc initialization:
error: version '-prefix=G:\Library\boost_1_72_0' requested but 'g++--prefix=G:\Library\boost_1_72_0' not found and version '8.3.0' of default 'g++' does not match
error: initialized from
G:/Library/boost_1_72_0/tools/build/src/build\toolset.jam:44: in toolset.using from module toolset
G:/Library/boost_1_72_0/tools/build/src\build-system.jam:543: in process-explicit-toolset-requests from module build-system
G:/Library/boost_1_72_0/tools/build/src\build-system.jam:610: in load from module build-system
G:\Library\boost_1_72_0\tools\build\src/kernel\modules.jam:295: in import from module modules
G:\Library\boost_1_72_0\tools\build\src/kernel/bootstrap.jam:139: in boost-build from module
G:\Library\boost_1_72_0\boost-build.jam:17: in module scope from module
问题
目测是g++版本不对应的问题:
- 1.cmd打开命令提示符
- 2.切换到CodeBlocks\ MinGW \ bin 路径下,我把codeblocks安装在g盘,所以的我这边切换到 G:\codeblocks\MinGW\bin
- 3.输入以下命令行,查看版本信息
gcc -v
g++ -v
果不其然的,虽然CodeBlocks 已经是最新版了,但其中的 MinGW 仍然不是最新版
解决
- 官网 下载最新版MinGW
- 删除 G:\codeblocks\MinGW 命令下的所有文件
- 安装MinGW
注意:
a.安装路径选择在codeblocks的minGW底下,我这边是 G:\codeblocks\MinGW
b. Basic Setup 里的每个包都勾选安装
c. 在 Installation 中选择 Apply Changes
d. 可能会因为网络的问题而导致异常,出错的时候换个网络试试,不行就翻~ - 安装完毕后,再次检查 g++ 版本,查看是否更新成功
- 进入到 *G:\Library\boost_1_72_0\tools\build* 目录,执行命令
bootstrap.bat mingw
b2 install --prefix="G:\Library\boost_1_72_0\boost-build"
- 添加环境变量"G:\Library\boost_1_72_0\boost-build\bin"
- 切换到 G:\Library\boost_1_72_0 目录下,执行命令
b2 --build-dir="G:\Library\boost_1_72_0\build" --prefix="G:\Library\boost_1_72_0\boost-new" toolset=gcc install