gpt4 book ai didi

c++ - 在 visual studio 中包含相对于 props 文件的路径

转载 作者:行者123 更新时间:2023-11-30 01:07:31 26 4
gpt4 key购买 nike

我正在尝试创建包含路径的属性文件,以便在我的所有 C++ 项目中使用。

这是存储库结构。

/
/Libs
/Libs2
A.h
B.h
/Sln1
Sln1.sln
Proj1.vcxproj
Sln2.sln
Proj2.vcxproj
Props.props

我想使用属性文件 (Props.props) 将以下包含路径添加到两个项目 (C:\\Libs;C:\\Libs\Libs2)。

目前我的属性文件中有宏:

Name          Value
ProjRoot C:\<path to rep root>

我在包含字符串中使用它:$(ProjRoot)\Libs;$(ProjRoot)\Libs\Libs2

此解决方案的问题是宏值中的硬编码绝对路径。如果我的存储库将被克隆到另一个驱动器上,我将不得不手动更改它。

我可以在宏值中使用相对于属性文件的路径吗?

即:

Name          Value
ProjRoot ./

其中 ./将解析为将使用此属性文件的所有项目中的 Props.props 文件的路径。

我不能使用 $(SolutionDir) 和 $(ProjectDir),因为在不同的嵌套级别中可能有解决方案和项目,因此相对于它们的路径将不起作用。

谢谢。

最佳答案

做这件事应该手动编辑 Prop 文件并包括以下内容:

<PropSheetPath>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))</PropSheetPath>

这将创建带有属性文件夹的属性 PropSheetPath

在这里找到答案:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2817cae7-3a71-4701-839a-9bf47af7c498/property-sheets-macro-to-reference-location-of-property-sheet?forum=vcgeneral

关于c++ - 在 visual studio 中包含相对于 props 文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44386059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com