ブーストのサブセットをセットアップし、bjam を使用して適切にコンパイルしようとしていますが、探している結果が得られません。ブースト 1.37.0 を使用して Windows で作業しています。
ライブラリ smart_ptr とファイルシステムをビルド/インストールしたいとしましょう。私は意図的にヘッダーのみのライブラリと、ライブラリをコンパイルする必要がある 1 つのライブラリを選択しました。bjam を使用して完全なブースト インストールを構築した場合 (つまり、--with-libraryX を指定しない場合) に似たディレクトリ構造にそれらを構築したいのですが、もちろん、興味のないすべてのライブラリは含まれていません。 .
私の最初のアプローチは、bjam で --with-filesystem --with-smart_ptr を使用することでしたが、smart_ptr を認識しなかったようです (smartptr と smart-ptr を試してみましたが成功しませんでした)。これは、ヘッダーのみのライブラリであるためだと思います。
私がそれを削除し、 --with-filesystem だけを持っていたとき、すべてのライブラリヘッダーファイルをインストールパスにコピーし、ファイルシステムのライブラリのみを構築するように見えました。ライブラリのビルド動作は私が望んでいたものでしたが、boost ディレクトリにインストールすることに興味のないライブラリのヘッダー ファイルが大量にありました。
私の 2 番目のアプローチは、bcp を使用して関連するプロジェクトをコピーすることでした。これは、私が関心のあるプロジェクト (およびその依存関係) のみを取得したという意味でうまくいきました。ただし、コピーされたライブラリを構築するためのメイク ファイルは提供されませんでした。これは、ヘッダーのみではないすべてのライブラリのプロジェクト ファイルをセットアップし、それらを手動でビルドする必要があることを意味します。
だから私の質問は基本的に、私が興味を持っているライブラリのヘッダーのみをコピーし、私が興味を持っている非ヘッダーのみのライブラリのライブラリファイルのみを構築するブーストを選択的に構築する方法はありますか?コースによる)?
これにはおそらく手動/スクリプトベースのソリューションがたくさんありますが、新しいライブラリを追加したり、新しいブーストバージョンにアップグレードしたりするのは非常に簡単なので、bjam のみを使用して何かを実行することができれば、私にとってははるかに便利です。
編集:最初のアプローチの完全なコマンドラインを追加しました:
bjam install --prefix=c:\temp\boostsmall
--build-dir=C:\temp\boostsmalltemp --layout=system
--with-filesystem variant=debug link=static threading=multi
runtime-link=static
scoped_ptr を smart_ptr に変更