2009-10-29 3 views

答えて

21

多くのディストリビューションには公式リポジトリが追加されていますが、標準インストールではデフォルトでは提供されません(つまり、デフォルトではインストールされませんが、インストールは比較的簡単です)。

一方、多くのディストリビューションで作業したいプロジェクトでboostを使用できるかどうか疑問に思っているので、これを聞いているとします。ブーストのライブラリのほとんどは、つまり、プロジェクトにコンパイルされ、配布がインストールされているかどうかは関係ありません(静的リンクと同じ効果)。

ヘッダーのみではないブーストの部分については、ブーストに付属していないディストリビューションで実行されるバイナリを静的にリンクして作成することができます。

+0

あなたは私の心を読んでいます! – jldupont

+1

テンプレートとライブラリの区別について+1 – Javier

+2

静的ライブラリでリンクすることもできます。ヘッダーのみではないライブラリのいずれかを使用している場合は、いつでも配布可能なバイナリを作成できます。 トリックは、ユーザーが自分でビルドできるようにするために、ヘッダー(および必要に応じてライブラリ)が必要ですが、自分自身でビルドしている場合は、おそらくそれほど頼りすぎることはありません。 – teeks99

1

Boostを含むディストリビューションには、本当に古いバージョンのBoostが含まれている可能性があることに注意してください。私はこれが小さな問題の多くを引き起こす可能性があることを発見しました。

たとえば、boost v.latestにあり、バージョンv.includedにないwhiz-bangクラスがあります。もし、このwhiz-bangクラスが 'headers only'なら、これをかなり簡単に回避することができます。このクラスにライブラリが含まれている場合は、痛みの要因が増えます(既存のバイナリではバージョンv.includedの共有ライブラリが必要になります - コードにはv.latestが必要です)。

これらの問題はすべて解決できると確信していますが、おそらく予定以上になっているので、スケジュール/スプリントで時間を予約してください。

関連する問題