2017-09-28 6 views
0

Boostは、ライブラリをリンクする3つの方法を提供しています.1つのヘッダ、スタティックライブラリ、共有ライブラリです。どれが好ましいデフォルトですか? 1つのアプローチを他のものよりも使用することの長所/短所は何ですか?スタンドアローンライブラリのコンパイルステップを避けることができるので、私はシングルヘッダーの変形を好むようです。そして、私は一度にすべての機能をすべて必要としません。私はBoostのユニットテストフレームワークの使用を計画しています。ほとんどのセットアップ/スタートアップのドキュメントでは、シングルヘッダーを使用するための迅速で汚れた方法が常に言及されています。このリンクhttp://www.boost.org/doc/libs/1_60_0/more/getting_started/windows.htmlは、 "ヘッダーのみ"または "個別にコンパイル"モードで使用できますが、別のコンパイルを使用することをお勧めします。私は真剣に使用するためにはコンパイルが必要なのか、実際にコンパイルする必要があるのだろうか?コンパイルを必要とシングルヘッダ、スタティックライブラリ、共有ライブラリの間でブーストライブラリをリンクする方が良いですか?

答えて

2

いくつかのBoostライブラリは、プロジェクトで使用すると、いくつかのBoostライブラリはそれらに隣接する特定の機能のためのコンパイルが必要です。したがって、あなたがそれらを必要とするライブラリ/機能のいずれかを使用する予定の場合は、にはが必要です。

静的ライブラリと共有ライブラリのどちらを選択するかは、主に個人の好みに応じて異なります。一般にBoostを使用すると、BoostのABI互換の新しいバージョンを取得し、そのコードを自分のコードに変更せずにパッケージ化するシナリオは予期しません。ですから、私は静的ライブラリとして、常にBoost(またはより正確には、コンパイルが必要なboostの部分)を使用しています。

関連する問題