version 'xxxx' requested but 'xxxx' not found and version '8.3.0' of default 'g++' does not match

原碼
在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 仍然不是最新版

解決

  1. 官網 下載最新版MinGW
  2. 刪除 G:\codeblocks\MinGW 命令下的所有文件
  3. 安裝MinGW
    注意:
    a.安裝路徑選擇在codeblocks的minGW底下,我這邊是 G:\codeblocks\MinGW
    b. Basic Setup 裏的每個包都勾選安裝
    c. 在 Installation 中選擇 Apply Changes
    d. 可能會因爲網絡的問題而導致異常,出錯的時候換個網絡試試,不行就翻~
  4. 安裝完畢後,再次檢查 g++ 版本,查看是否更新成功
  5. 進入到 *G:\Library\boost_1_72_0\tools\build* 目錄,執行命令
bootstrap.bat mingw

b2 install --prefix="G:\Library\boost_1_72_0\boost-build"
  1. 添加環境變量"G:\Library\boost_1_72_0\boost-build\bin"
  2. 切換到 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章