2

簡単にするために、Lib1とLib2の2つのライブラリを作成した状況があるとします。各ライブラリには、静的(.lib)リリースWin32(/ MD)という1つの構成があります。各ライブラリにはプロパティシートがあります(それぞれinclude_lib1.propsとinclude_lib2.props)。特定のライブラリのプロパティシート:

  • ライブラリディレクトリの下で生成された.libへのパスをエクスポートします
  • [ディレクトリを含める]の下にあるライブラリのソースへのパスをエクスポートします
  • 生成された.libの名前をリンカの入力要件に追加します。

依存関係:

  • Lib1には依存関係がありません(つまり、Microsoft.Cpp.Win32.userのみが含まれます)。
  • Lib2には1つの依存関係があります:Lib1(つまり、Lib2にはMicrosoft.Cpp.Win32.userとinclude_lib1.propsの両方が含まれます)。

今、私はアプリケーションを書きたいと思います。表面上は、Lib2のみに依存します-しかし、Lib2はLib1を使用して構築されているため、アプリケーションはLib1.propsとLib2.props *の両方を必要とします(つまり、Lib1.libとのリンクを試み、Lib1のプロパティシートがないため失敗しますそこにそれを見つける場所を言うために)。

私の質問は、include_lib2.propsを含めると、自動的にinclude_lib1.propsも含まれるようにする方法はありますか?または同等のことを行う方法はありますか?


*これ自体は不思議です-ライブラリは/MDで構築されているので、それでいいのでしょうか?

4

1 に答える 1

2

答えは、あるプロパティシートを別のプロパティシートに追加することだと思われます。プロパティシートを右クリックすると、既存のシートを追加できます。

これにより、モジュール式のクリーンな方法で問題が非常にうまく解決されます。変更されたプロパティシートは、複数の場所で使用できます。新しいプロジェクトに追加すると、依存するプロパティシートが再帰的に追加され、プロパティページで表示できます。

于 2013-03-22T01:21:33.617 に答える