Visual C++2010ソリューションのいくつかのプロジェクトでBoostライブラリを使用しています。私が現在行っているのは、次の設定によって各プロジェクトのプロパティを変更することです。
プロパティ->構成プロパティ->C/C++->一般->ブーストディレクトリを含めるための追加のディレクトリを含める
C:\boost\boost_1_47
[プロパティ]->[構成プロパティ]->[リンカー]->[一般]->[追加のライブラリディレクトリ]を選択して、boostlibディレクトリを追加します
C:\boost\boost_1_47\lib
ブーストバージョンを1.51にアップグレードしているので、この情報を複数回(つまり、プロジェクトごとに1回)指定することで、DRYに違反していることに気付きます。ブースト情報を1か所で定義したい。
調査したところ、プロパティシートは良い解決策のようです。プロパティシートの継承について読みましたが、プロジェクト固有のインクルードディレクトリを追加する場合は、その特定のプロジェクトのプロパティに追加のインクルードディレクトリを設定する必要があるように思われるため、これがどのように役立つかわかりません。次に、ブーストインクルードディレクトリを定義する継承されたプロパティシートを上書きします。私がこれについて間違っているならば、私を訂正してください。
したがって、次の考えは、GlobalMacros.propという単一のプロパティシートを作成し、次のようなユーザーマクロを定義して$(BoostDir)
から、このプロパティシートを各プロジェクトに追加することです。次に、インクルードディレクトリとライブラリディレクトリを定義するときに、各プロジェクトのプロパティでマクロを使用できます。ただし、マクロを作成するときに「このマクロをビルド環境の環境変数として設定する」オプションがあり、それが何をするのか、または設定する必要があるのかわかりません。
全体として、一般的な設定で繰り返される構成定義を減らすための最良の方法を知りたいですか?