1

Windows 7 Enterprise SP1 を実行していて、C++ 開発環境をセットアップしようとしています。MinGW をインストールしましたが、それ自体は正常に動作しているようです。次に、ブーストをインストールする必要があります...ソースからコンパイルするのが唯一の良いオプションのようです。(公式の Windows バイナリは見当たりません。非公式のものをいくつか見つけましたが、それらは現在より数バージョン遅れている傾向があり、それらが維持されているかどうかは明らかではありません。)

そこで、tarball をダウンロードして展開し、MinGW から MSYS シェルを開き、tools/build/v2 に移動して bootstrap.sh を実行します。これは失敗し、bootstrap.log は次のようになります。

###
### Using 'gcc' toolset.
###
rm -rf bootstrap
mkdir bootstrap
gcc -o bootstrap/jam0 command.c compile.c constants.c debug.c execcmd.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 pathsys.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 class.c cwd.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
builtins.c:34:23: fatal error: sys/wait.h: No such file or directory
compilation terminated.
execunix.c:20:26: fatal error: sys/resource.h: No such file or directory
compilation terminated.
fileunix.c:96:17: fatal error: ar.h: No such file or directory
compilation terminated.

私が理解できる限り、それらのファイルはありません。(私のMinGWインストールではどこにも表示されません...)次に、bootstrap.sh --with-toolset=mingw(「サポートされている」オプションのようです...)を試してみましたが、別のエラーを出す前に少し先に。その実行からの bootstrap.log は次のとおりです。

###
### Using 'mingw' toolset.
###
rm -rf bootstrap
mkdir bootstrap
gcc -DNT -o bootstrap/jam0 command.c compile.c constants.c debug.c execcmd.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 pathsys.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 class.c cwd.c native.c md5.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execnt.c filent.c
./bootstrap/jam0 -f build.jam --toolset=mingw --toolset-root= clean
...found 1 target...
...updating 1 target...
...updated 1 target...
./bootstrap/jam0 -f build.jam --toolset=mingw --toolset-root=
don't know how to make modules/set.c
don't know how to make modules/path.c
don't know how to make modules/regex.c
don't know how to make modules/property-set.c
don't know how to make modules/sequence.c
don't know how to make modules/order.c
...found 126 targets...
...updating 1 target...
...can't find 6 targets...
...can't make 2 targets...
failed to write command file!

私はこれらのファイル(またはとにかくあるはずの場所)を探しに行こうとしましたが、どこにもモジュールディレクトリが見つからないため、このエラーにかなり困惑しています。これらがビルドされるはずの生成されたソース ファイルなのか、何らかの理由でビルドできないのか、それとも既に存在するはずのファイルが見つからないだけなのか (後者の場合はブーストソースに含まれているか、システムのどこかに既にあるはずです)。

このエラーを修正してブーストを構築する方法を知っている人はいますか? (または、少なくとも Boost.Build をビルドします。これは、ブーストを構築するための最初のステップとなるはずです...?)

4

2 に答える 2

5

MSYS シェルは使用しないでください。g++.exe がパス上にあることを確認し、cmd.exe を介して実行します

d:\Libraries\Boost\boost_1_53_0>bootstrap.bat gcc

これにより、Boost (の一部) のビルドに使用できる b2.exe が生成されます。

于 2013-07-11T19:37:30.673 に答える