1

最近、私のマシンに Debian Squeeze をインストールし、主な目標の 1 つとして C++ プログラミングの練習をしました。プロジェクトで Boost ライブラリを定期的に使用しています。OS-X と Windows では、Boost ヘッダー ライブラリを使用する前に手動でインストールする必要がありました。ただし、Linux に関しては、Boost Web サイトのフロント ページに記載されています。

Fedora、Debian、NetBSD などの一般的な Linux および Unix ディストリビューションには、ビルド済みの Boost パッケージが含まれています。

現在のプロジェクト用にビルド済みのパッケージではなく、主にヘッダー ライブラリを使用しています。私の質問は次のとおりです。ヘッダー ライブラリはデフォルトで Debian のどこかにインストールされていますか、それともインストールする必要がありますか? 既に /usr/include を調べましたが、Boost ディレクトリがないようです。SOに関する関連する議論をグーグルで検索しただけでなく、検索しましたが、私の質問に対する明確な答えが得られませんでした。ヘッダー ライブラリをインストールする必要がある場合、'apt-get' でそれを行う方法はありますか、それとも tar を展開して便利な場所 (/usr/local/include) に配置するだけですか?

次に、手動でブースト ヘッダーを配置する必要がある場合 (/usr/local/include/ など)、両方のバイナリを使用する可能性のある将来のプロジェクトとの互換性のために、ヘッダーのバージョンがプリインストールされたパッケージと一致する必要があります (libboost -*) とヘッダファイル?

私は Linux プラットフォームでのプログラミングにかなり慣れていません。パッチアンドマッチ(およびグーグル)を使用して物事を機能させることはできますが、長期的なベストプラクティスに関するガイダンスを探しています.

ありがとう。

4

1 に答える 1

2

GNU/Linux ディストリビューションに Boost などのパッケージが「含まれている」と言っても、それが自動的にインストールされるという意味ではなく、システムのパッケージ管理ツールを使用してパッケージをインストールできることを意味します。パッケージはディストリビューションに合わせて調整されているため、OS の残りの部分とうまく統合されている場合もあれば、アップストリーム バージョンとまったく同じである場合もあります。メリットは、既にビルドされており、OS 内から簡単にインストールできるということだけです。

Debian のパッケージ管理ツールに関するドキュメントはたくさんあります:

http://wiki.debian.org/PackageManagement

http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html

http://www.debian.org/doc/manuals/debian-reference/ch02.en.html

そうです、apt-get(または Debian の別のツールと同等の) に Boost をインストールしたいの/usr/includeですが、手動でインストールするよりもはるかに簡単です。後で Boost を手動でインストールすることにした場合は、そのインストールをシステム パッケージから完全に分離して、新しいバージョンのライブラリとヘッダーがシステム パッケージと競合しないようにしてください。それがシングルユーザーのマシンで、マシン上の他のユーザーがパッケージを利用できるようにする必要がない場合は、パッケージをホームディレクトリにインストールするだけで/usr/local/済みます。 root ユーザーとして可能)

于 2012-10-08T22:49:31.857 に答える