すべてのC++プロジェクトで使用するインクルードパスを含むプロパティファイルを作成しようとしています。ビジュアルスタジオの小道具ファイルに関連するパスを含める
ここにリポジトリ構造があります。
/
/Libs
/Libs2
A.h
B.h
/Sln1
Sln1.sln
Proj1.vcxproj
Sln2.sln
Proj2.vcxproj
Props.props
は、私が(:;:\\ Libsの\ Libs2 C \\ LibsのC)両方のプロジェクトへのパスを含める以下を追加するには、プロパティファイル(Props.props)を使用します。
Name Value
ProjRoot C:\<path to rep root>
、文字列が含まに私はそれを使用します:
現在、私は私のプロパティファイルでマクロを持っている$(ProjRoot)\ Libsの; $(ProjRoot)\ Libsの\ Libs2
問題としこの解決策は、マクロ値の絶対パスがハードコードされています。私のリポジトリが別のドライブに複製される場合は、手動で変更する必要があります。
マクロ値のプロパティファイルに対する相対パスを使用できますか?
すなわち:./このプロパティファイルを使用するすべてのプロジェクトでProps.propsファイルのパスに解決されます
Name Value
ProjRoot ./
。
$(SolutionDir)と$(ProjectDir)を使用することはできません。異なるネストレベルのソリューションとプロジェクトがあり、パスが相対パスでは機能しないためです。
ありがとうございます。