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 [...]