bjam をクリーンかつ一貫してビルドする方法はありますか? ライブラリを再構築することを決定したときと、どこかから単純にコピーすることを決定したときは、かなりランダムに見えます。
bjam --clean-all
とを試しましbjam --clean
たが、必要なファイルが見つかったようで、再コンパイルする代わりに、それらをstage/lib
フォルダーにコピーするだけです。
bjam をクリーンかつ一貫してビルドする方法はありますか? ライブラリを再構築することを決定したときと、どこかから単純にコピーすることを決定したときは、かなりランダムに見えます。
bjam --clean-all
とを試しましbjam --clean
たが、必要なファイルが見つかったようで、再コンパイルする代わりに、それらをstage/lib
フォルダーにコピーするだけです。
無条件に再構築するには、-a
フラグをに渡しbjam
ます。
使用できますbjam --clean
。b2 の完全な呼び出し手順は、こちら.
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 [...]