使用CodeBlocks在Windows上设置Boost

Setting up Boost on Windows with CodeBlocks

本文关键字:设置 Boost Windows CodeBlocks 使用      更新时间:2023-10-16

我想使用Boost文件系统库,我正在尝试在我的Windows计算机上安装Boost。我正在使用CodeBolcks进行开发。我做了如下:

1) 我下载并提取了boost到:d:\boost_1_53_0

2) 我下载并提取了jam可执行文件到:d:\boost-jam-3.1.18-1-ntx86

3) 我在PATH环境变量中添加了"d:\boost-jam-3.1.18-1-ntx86"。

4) 我转到"d:\boost_1_53_0",并运行以下命令:

bjam --toolset=gcc "--prefix=D:Program FilesCodeBlocks" install

我得到以下输出:

warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (bjam) is 03.1.18
warning: Boost.Build core (at D:/boost_1_53_0/tools/build/v2) is 2011.12-svn
D:/boost_1_53_0/tools/build/v2/utilpath.jam:476: in path.makedirs
rule MAKEDIR unknown in module path.
D:/boost_1_53_0/tools/build/v2/buildconfigure.jam:190: in configure.set-log-file
D:/boost_1_53_0/tools/build/v2build-system.jam:725: in load
D:boost_1_53_0toolsbuildv2/kernelmodules.jam:283: in import
D:boost_1_53_0toolsbuildv2kernelbootstrap.jam:142: in boost-build
D:boost_1_53_0boost-build.jam:17: in module scope

有人知道如何解决这个问题吗?

感谢

更新1:

根据你的建议,我尝试使用Boost文件夹中的bootstrap.bat。然而,我收到了以下输出:

D:boost_1_53_0>bootstrap.bat gcc
Building Boost.Build engine
Failed to build Boost.Build engine.
Please consult bootstrap.log for furter diagnostics.
You can try to obtain a prebuilt binary from
   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941
Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.

bootstrap.log文件包含以下内容:

###
### Using 'gcc' toolset.
###
D:boost_1_53_0toolsbuildv2engine>if exist bootstrap rd /S /Q bootstrap 
D:boost_1_53_0toolsbuildv2engine>md bootstrap 
D:boost_1_53_0toolsbuildv2engine>gcc -DNT -o bootstrapjam0.exe  command.c compile.c constants.c debug.c execnt.c filent.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 pathunix.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 pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
D:boost_1_53_0toolsbuildv2engine>.bootstrapjam0 -f build.jam --toolset=gcc "--toolset-root= "  clean 
...found 1 target...
...updating 1 target...
...updated 1 target...
D:boost_1_53_0toolsbuildv2engine>.bootstrapjam0 -f build.jam --toolset=gcc "--toolset-root= "  
...found 50 targets...
...updating 2 targets...
[COMPILE] bin.ntx86b2.exe
"gcc"   -o bin.ntx86b2.exe "-DNDEBUG" "-DOPT_HEADER_CACHE_EXT" "-DOPT_GRAPH_DEBUG_EXT" "-DOPT_SEMAPHORE" "-DOPT_AT_FILES" "-DOPT_DEBUG_PROFILE" "-DOPT_FIX_TARGET_VARIABLES_EXT" "-DOPT_IMPROVED_PATIENCE_EXT" "-DNT" "-DYYSTACKSIZE=5000" "-pedantic" "-fno-strict-aliasing" "-s" "-O3" "-Wno-long-long" "command.c" "compile.c" "constants.c" "debug.c" "function.c" "glob.c" "hash.c" "hcache.c" "headers.c" "hdrmacro.c" "jam.c" "jambase.c" "jamgram.c" "lists.c" "make.c" "make1.c" "mem.c" "object.c" "option.c" "output.c" "parse.c" "regexp.c" "rules.c" "scan.c" "search.c" "subst.c" "w32_getreg.c" "timestamp.c" "variable.c" "modules.c" "strings.c" "filesys.c" "builtins.c" "pwd.c" "class.c" "native.c" "md5.c" "modules/set.c" "modules/path.c" "modules/regex.c" "modules/property-set.c" "modules/sequence.c" "modules/order.c" "execnt.c" "filent.c" "pathunix.c" 
...failed [COMPILE] bin.ntx86b2.exe...
...removing bin.ntx86b2.exe
...skipped bjam.exe for lack of b2.exe...
...failed updating 1 target...
...skipped 1 target...

你有什么建议?

更新2:

D:boost_1_53_0toolsbuildv2>bootstrap.bat gcc
Bootstrapping the build engine
Failed to bootstrap the build engine
Please consult bootstrap.log for furter diagnostics.

bootstrap.log文件包含与UPDATE 1中相同的内容。问题出在哪里?感谢

您必须从另一个源(而不是boost-tar发行版附带的源)安装了boost.build包。

如果你想摆脱这个警告,你需要从与你的boost发行版相同的软件包中安装boost构建。为了确保它们都是相同的和最新的,只需从这里下载boost并解压缩即可。按照boost的安装说明(基本上是bootstrap,然后是b2)完成后,进入tools/build/v2并执行bootstrap.shb2。然后,您将生成与此提升版本相对应的b2和bjam文件,并且不再有此警告。

右键单击我的计算机和属性,将%PATH%变量设置为'gcc.exe'在envs变量中的位置,然后重新启动提示并再次运行。