Visual Studio - 在哪里定义自定义路径宏?

时间:2011-01-17 04:43:31

标签: visual-studio

我刚刚打开了其他人的Visual Studio项目,并且在他们的构建属性中,他们有一些自定义路径宏,他们正在使用它们的include和lib目录。宏名称是这样的:

$(MY_WHATEVER_INCLUDE_DIR)

我可以用真实路径手动替换每个宏,但是使用宏会很好。我的问题是,我在哪里定义这些自定义路径宏?

9 个答案:

答案 0 :(得分:43)

此链接http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx可能会让您感兴趣。我不喜欢改变整个系统配置只是为了构建一个项目。页面上最有趣的部分是最后一条评论:

  

此页面未提及如何进入此对话框:

     

在Property Manager中,双击属性页面。单击树控件中“Common Properties”下的“User Macros”。

答案 1 :(得分:23)

此处的方法用图片描述:https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

在Visual Studio中,您需要:

  1. 点击主菜单"查看",然后点击"物业经理"
  2. 右键单击" Property Manager"的空白区域。窗口并在弹出菜单中单击"添加新项目属性表"
  3. 添加属性表后,在“属性管理器”窗口和左侧的树中双击选择属性页"用户宏"
  4. 然后你可以点击"添加宏"按钮
  5. 以下是项目属性表的教程: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)

与@Serge Rogatch的答案相同,除了我无法在View中找到“属性管理器”。

用于快速导航的可视步骤: enter image description here

答案 7 :(得分:0)

最新视觉工作室版本(2015+)的方式如下:

创建用户定义的宏:

  1. 在Property Manager窗口(在菜单栏上,选择View,Property Manager),打开属性表的快捷菜单(其名称以.user结尾),然后选择Properties。
  2. 将打开该属性表的“属性页”对话框。在对话框的左侧窗格中,选择“用户宏”。在右窗格中,选择“添加宏”按钮以打开“添加用户宏”对话框。
  3. 在对话框中,指定宏的名称和值。 (可选) 选择将此宏设置为构建中的环境变量 环境复选框。
  4. Source

答案 8 :(得分:0)

在 2019 年,您可以通过在解决方案的根目录中添加 Directory.Build.props xml 文件来向所有项目添加自定义宏。它们不会出现在宏部分,但如果像往常一样用 $(MacroName) 引用它们,它们就会在构建中使用。

<Project>
 <PropertyGroup>
   <Deterministic>true</Deterministic>
 </PropertyGroup>
</Project>