VS2005 の C++ std::tr2
-
08-06-2019 - |
質問
VS2005 ユーザーが TR2 を体験できる唯一の方法はブーストですか?また、TR2 関連パッケージのみをダウンロードするばかげた方法はありますか?
私はBoostPro Consultingが提供するBoostインストーラーを検討していました。MSVC8 のすべてのパッケージですべてのスレッド オプションのオプションを選択すると、1.1GB が必要になります。スペースが足りないわけではありませんが、 図書館 ギガバイトを超えるスペースが必要で、BPC が現在のリリースに追いつくには長い時間がかかります。
どのようなパッケージが必要ですか?私が実際に興味があるのは std::tr2 を構成するものだけであり、提供されているものと TR2 レポートからのものを比較し、リストからそれらを選択することでそれを見つけることができますが、それでも何が必要なのかは明確ではありません。それが古いバージョンであるという事実が私をイライラさせます。
以前に Boost (1.33.1) に遭遇したことから、自己コンパイルが惨めな経験であることはわかっています。起動するのに多くの時間を無駄にし、その後、大量のエラーが読みきれないほどの速さで画面を横切ります。そのため、残るのは、何かが壊れているが、何が壊れているのかよくわからないという不安な感覚だけです。
Apache ライブラリでこのような問題が発生したことはありませんが、それはまた暴言です...
解決
実際に言及していると思います TR1, 、TR2ではなく。TR2 の提案募集は開かれていますが、新しい C++ 標準が発表されるまでは大きな動きは期待できません。また、boost は TR1 実装のプロバイダですが、dinkumware と GNU FSF は別のプロバイダです。VC2005 では、boost がおそらくこの機能にアクセスする最も簡単な方法です。
最も重要と思われる boost のライブラリは次のとおりです。
- 参照
- スマートポインター
- 練る
- タイプの特徴
- 配列
- 正規表現
Boost のビルドに関するドキュメントは、ここ数回のリリースで徐々に改善されてきました。 入門ガイド かなり詳しいです。スマート ポインターとバインドはヘッダー ファイルから機能する必要があり、IMO は TR1 の最も便利な要素です。
他のヒント
Boost の利点の 1 つは、すべてのコードがヘッダー ファイル内にあることです。テンプレート上の理由からそうする必要があります。したがって、おそらくコードをダウンロードしてプロジェクトに含めると機能するでしょう。Boost にはコンパイルが必要なライブラリがいくつかありますが、それらが必要ない限り...
ブースト ライブラリを自分でコンパイルすることは、十分に文書化されていないとしても、実際には非常に簡単です。ドキュメントは jamroot ファイルにあります。走る bjam --help
オプションの詳細なリストについては、boost ルート ディレクトリにあります。例として、次のコマンド ラインを使用して、boost 1.36.0 で現在のセットアップを構築しました。
bjam --build-type=complete --toolset=msvc --build-dir=c:\boost\build install
私のマシンで約 30 分実行され、結果のファイルが c:\boost に置かれました。