在Visual Studio 2012 C++项目属性页,宏对话框
我们可以找到不同的宏扩展语法,
$(TargetPath)
%(OutputFile)
@(_TargetFramework20DirectoryItem)
有什么不同?
顺便说一句,我们可以在Visual Studio 2012中轻松定义我们自己的新宏吗?除了创建一个新的项目属性表。
我只是想要一个简单的新宏,如果是的话,我所有的依赖都可以基于这个宏来计算。
例如:
$(DependsBaseDir) = $(ProjectDir)..\..\..\
$(IncludePath) = $(DependsBaseDir)include;$(DependsBaseDir)abc\inc;$(DependsBaseDir)xyz\pub_inc
$(LibraryPath) = $(DependsBaseDir)lib
使用项目性质,我不能存档我的目的。由于$(DependsBaseDir)
取决于$(ProjectDir)
。 我必须使用环境变量,这是一个非常非常糟糕的决定,并且很难在机器之间移动项目。或者我必须重复$(DependsBaseDir)
无处不在的值。如果$(DependsBaseDir)
改变了,它确实改变,修复依赖是一个灾难。我必须计算正确的点,然后将其替换到任何地方......这个简单的例子已经够难了。不要说$(SolutionDir)
,项目在不同的解决方案中共享。
就是这样。我比较vs2010和vs2012。 “用户宏”是vs2012中的新功能。将尝试它。 – Raymond
vs2012中的项目设置中没有“用户宏”。它仍然在.props文件中。 – Raymond