20

bjam をクリーンかつ一貫してビルドする方法はありますか? ライブラリを再構築することを決定したときと、どこかから単純にコピーすることを決定したときは、かなりランダムに見えます。

bjam --clean-allとを試しましbjam --cleanたが、必要なファイルが見つかったようで、再コンパイルする代わりに、それらをstage/libフォルダーにコピーするだけです。

4

5 に答える 5

16

無条件に再構築するには、-aフラグをに渡しbjamます。

于 2011-05-05T09:25:31.400 に答える
7

使用できますbjam --clean。b2 の完全な呼び出し手順は、こちら.

于 2014-05-01T18:13:16.580 に答える
5

bjam -a and bjam --clean (only) seem to clean up intermediate files and resultulting binaries, but not the build configuration - according to the manual this is unintentional:

Configuration results are cached - if you try rebuilding with different compiler options then add an "-a" to the bjam command line to force all targets to be rebuilt.

Example (as of boost 1.61 and many releases before): When I build with address-model=32, then run it again with 64, it tells me:

32-bit: yes (cached)

In other words, bjam prefers cached values over the options that I pass. Always. -a and --clean don't change this unorthodox (buggy?) behavior.

Therefore, whenever you change the parameters passed to bjam, it is probably a good idea to delete the cache file (as Rik mentioned) before building. Thus, my build script looks somewhat like this:

rm -f 'bin.v2/project-cache.jam' ./bjam -a $options [...]

于 2016-06-20T17:00:14.100 に答える