我刚刚打开了其他人的Visual Studio项目,并且在他们的构建属性中,他们有一些自定义路径宏,他们正在使用它们的include和lib目录。宏名称是这样的:
$(MY_WHATEVER_INCLUDE_DIR)
我可以用真实路径手动替换每个宏,但是使用宏会很好。我的问题是,我在哪里定义这些自定义路径宏?
答案 0 :(得分:43)
此链接http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx可能会让您感兴趣。我不喜欢改变整个系统配置只是为了构建一个项目。页面上最有趣的部分是最后一条评论:
此页面未提及如何进入此对话框:
在Property Manager中,双击属性页面。单击树控件中“Common Properties”下的“User Macros”。
答案 1 :(得分:23)
在Visual Studio中,您需要:
以下是项目属性表的教程:http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/
答案 2 :(得分:10)
您可以将它们定义为os environment variables,这可能是原作者所做的。
答案 3 :(得分:7)
property sheet可能是正确的解决方案;这个答案详细阐述了@ gregseth,而不是寻求替换它,因为评论太长了。
我发现我需要为32位和64位目标设置不同的路径,这样做需要花点时间,所以我documented the process in detail。
我对属性表的一个主要误解是,与通常的VS属性编辑器不同,您可以编辑不同的配置/平台组合,属性表只是属性列表。它没有每个配置和每个平台的子部分。这令人困惑,因为当我向项目添加工作表时,它出现在每个配置/平台节点下,而不是在顶级项目节点下。所有条目实际上都是相同的属性表文件,所以编辑一个更改所有条目,但我最初没有理解,并认为我仍然需要单独更改每个地方的值。
您可以将属性表添加到一个配置/平台组合,所有这些组合,或仅添加到某个子集。
如果您想要进行全局设置,那么配置/平台覆盖可以通过确保更具体的属性表是最后一个来实现。所以你可能有一个属性表“所有配置”,然后一个用于“x86”,一个用于“x64”,一个用于“debug”,一个用于“release”。 x64调试目标将具有“all”,“x86”,“debug”表。基本上模仿VS的属性编辑器在内部做什么。
答案 4 :(得分:3)
Re:嗯..我似乎没有#34; User Macros" " Common Properties"下的选项。我正在使用VS 2010 Pro
如果您打开proj文件的属性对话框,则不会显示用户宏选项,就像在普通的“文件”视图中一样。您必须切换到Propery视图,展开某个项目,然后选择您为此目的添加的属性页(* .props)。用户宏出现在那里。
或者,您可以直接编辑XML。如果在。* proj文件中定义宏,则可以正常工作,但是将其设置为"用户宏"如果没有编辑页面则毫无意义。因此,只需将其设为< PropertyGroup>。
中的普通属性即可如前所述,它还引入了环境变量。但是,您必须确保在Devenv将看到它们的上下文中设置它们!在命令shell中执行此操作,然后从同一命令提示符运行DEVENV。当我遇到这种情况时,我制作了一个批处理文件来设置正确的变量并启动DEVENV,并将该bat文件图标放在桌面上。
答案 5 :(得分:2)
尝试另一种方式,无需为每个属性表添加麻烦
转到Windows操作系统系统属性> 环境变量,只需新增并输入变量,例如:MY_PATH和值,例如:D:\ Dev_Path \
之后你必须重新启动Visual Studio,你应该可以在宏列表中有$ {MY_PATH}
p / s:注意上面回答的Jason Williams是OS环境变量方法
答案 6 :(得分:1)
答案 7 :(得分:0)
最新视觉工作室版本(2015+)的方式如下:
创建用户定义的宏:
答案 8 :(得分:0)
在 2019 年,您可以通过在解决方案的根目录中添加 Directory.Build.props xml 文件来向所有项目添加自定义宏。它们不会出现在宏部分,但如果像往常一样用 $(MacroName) 引用它们,它们就会在构建中使用。
<Project>
<PropertyGroup>
<Deterministic>true</Deterministic>
</PropertyGroup>
</Project>