我刚刚打开了其他人的Visual Studio项目,在他们的构建属性中,他们有一些自定义路径宏,它们正在用于其include和lib目录。宏名称是这样的:
$(MY_WHATEVER_INCLUDE_DIR)
我可以用实际路径手动替换每个宏,但是只使用宏会很好。我的问题是,在哪里定义这些自定义路径宏?
我刚刚打开了其他人的Visual Studio项目,在他们的构建属性中,他们有一些自定义路径宏,它们正在用于其include和lib目录。宏名称是这样的:
$(MY_WHATEVER_INCLUDE_DIR)
我可以用实际路径手动替换每个宏,但是只使用宏会很好。我的问题是,在哪里定义这些自定义路径宏?
Answers:
此链接http://msdn.microsoft.com/zh-cn/library/a2zdt10t(v=vs.90).aspx可能会让您感兴趣。我不喜欢仅仅为了构建项目而更改整个系统配置的想法。页面上最有趣的部分是最后一条评论:
此页面未提及如何进入此对话框:
在属性管理器中,双击属性页。单击树控件中“公共属性”下的“用户宏”。
这里用图片描述了这种方法:https : //sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros
在Visual Studio中,您需要:
这是有关项目属性表的教程:http : //www.dorodnic.com/blog/2014/03/20/visual-studio-macros/
甲属性表很可能是正确的解决方案; 该答案详细说明了@gregseth的答案,而不是试图替换它,因为评论太长了。
我发现我需要为32位和64位目标使用不同的路径,并且这样做花了点时间,因此我详细记录了该过程。
我对属性表的一个关键误解是,与通常的VS属性编辑器不同,该属性编辑器可以编辑不同的配置/平台组合,而属性表只是属性列表。它没有按配置和按平台的小节。这令人困惑,因为当我向工程中添加工作表时,它出现在每个配置/平台节点下,而不是在顶层项目节点下。所有条目实际上都是针对同一个属性表文件的,因此编辑它们会更改所有这些条目,但是我最初并不了解这一点,因此我仍然需要分别更改每个位置的值。
您可以将属性表仅添加到一个配置/平台组合,全部或部分子集。
如果要具有全局设置,则可以通过确保更具体的属性表位于最后来覆盖配置/平台。因此,您可能会有一个属性表“所有配置”,然后一个属性表“ x86”,一个属性表“ x64”,一个属性表“ debug”,一个属性表“ release”。x64调试目标的工作表为“ all”,“ x86”,“ debug”。基本上模拟VS的属性编辑器在内部执行的操作。
回覆: 嗯。。我似乎没有“公共属性”下的“用户宏”选项。我正在使用VS 2010 Pro
如果您打开项目文件的属性对话框(如在常规“文件”视图中一样),则不会显示“用户宏”选项。您必须切换到“属性”视图,展开一些项目,然后选择为此目的添加的属性页(* .props)。用户宏显示在此处。
或者,您可以直接编辑XML。如果在。* proj文件中定义宏,则工作正常,但如果没有编辑页面,则将其设置为“用户宏”毫无意义。因此,只需将其设为<PropertyGroup>中的普通属性即可。
如前所述,它还引入了环境变量。但是,您必须确保将它们设置在Devenv可以看到它们的环境中!在命令外壳中执行此操作,然后从同一命令提示符运行DEVENV。遇到这种情况时,我制作了一个批处理文件以设置适当的变量并启动DEVENV,然后将该bat文件图标放在桌面上。
尝试另一种方式,避免麻烦添加到每个属性表
转到Windows操作系统的系统属性 > 环境变量,仅新建,然后输入变量,例如:MY_PATH和值,例如:D:\ Dev_Path \
之后,您必须重新启动Visual Studio,您应该能够在宏列表中包含$ {MY_PATH}
p / s:请注意,上面回答的Jason Williams是OS Environment Variables方法
最新的Visual Studio版本(2015+)的方式如下:
要创建用户定义的宏: