将属性更改应用于解决方案中的所有DLL项目

时间:2014-06-17 10:35:35

标签: c++ visual-studio visual-studio-2008

我有一个包含大约150个项目的解决方案,包括静态库,动态库和可执行文件以及一些基于Makefile的项目,因此我有this guy's problem的扩展版本。

我需要对所有EXE和DLL项目的链接器页面应用更改(为了Rational Purify的好处添加/FIXED:NO)。我有办法轻松地做到这一点,例如在宏的帮助下?

3 个答案:

答案 0 :(得分:0)

我会直接修改项目文件 - 毕竟它们是XML,您可以轻松地发现需要在其中添加标记的更改。然后你可以写一个例如用于修改所有项目文件的Python脚本。

答案 1 :(得分:0)

您可以创建一个公共项目属性,然后您可以修改相关项目以继承此公共属性,因此当您下次只需要修改公共项目属性时,项目继承它将自动同步新设置。 Property Sheets (C++)

使用“继承的项目属性表”属性应用属性表中定义的项目设置:

  1. 使用“继承的项目属性表”属性
  2. 应用属性表中定义的项目设置
  3. 在Visual Studio IDE中打开您的项目。
  4. 在解决方案资源管理器中,右键单击项目的节点或将继承项目配置的属性表。
  5. 在快捷菜单上,单击“属性”。将显示项目的属性页。 使用“配置”控件指定要应用项目设置的项目配置。
  6. 在“常规”属性页的“继承的项目属性表”字段中,输入包含要继承的设置的属性表的路径。
  7. 点击“应用”。

答案 2 :(得分:-1)

这正是属性表的设计目的。创建属性表层次结构,其中包含某些类型项目通用的设置,然后使用属性管理器(View菜单 - > Property manager)将它们附加到相关项目。

例如:

  
      
  • All.props - >所有项目共有的设置
  •   
  • Debug.props - >设置仅用于调试版本
  •   
  • Release.props - >仅适用于发布版本的设置
  •   
  • Static.props - >静态库项目常用的设置
  •   
  • Dynamic.props - >仅适用于动态库项目的设置
  •   
  • Executable.props - >仅对可执行项目通用的设置
  •   

这需要预先进行少量工作,才能将属性表添加到现有项目中。然后,无论何时创建新项目,您只需附加相关的属性表即可。维护变得简单 - 更改设置并将更改应用于所有可执行项目,只需更新属性表Executable.props

注意:属性表根据它们在层次结构中的位置进行排序,因此属性表中较高的设置将覆盖列表中较低的工作表中的相同设置。这是一个很大的优势 - 您可以将默认设置放在All.props(从上面的示例中),然后覆盖更具体的属性表中的设置。如果您的一次性项目具有自己的唯一设置,则直接修改项目设置将覆盖所有属性表。