原碼
在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