我有一个包含大约150个项目的解决方案,包括静态库,动态库和可执行文件以及一些基于Makefile的项目,因此我有this guy's problem的扩展版本。
我需要对所有EXE和DLL项目的链接器页面应用更改(为了Rational Purify的好处添加/FIXED:NO
)。我有办法轻松地做到这一点,例如在宏的帮助下?
答案 0 :(得分:0)
我会直接修改项目文件 - 毕竟它们是XML,您可以轻松地发现需要在其中添加标记的更改。然后你可以写一个例如用于修改所有项目文件的Python脚本。
答案 1 :(得分:0)
您可以创建一个公共项目属性,然后您可以修改相关项目以继承此公共属性,因此当您下次只需要修改公共项目属性时,项目继承它将自动同步新设置。 Property Sheets (C++)
使用“继承的项目属性表”属性应用属性表中定义的项目设置:
答案 2 :(得分:-1)
这正是属性表的设计目的。创建属性表层次结构,其中包含某些类型项目通用的设置,然后使用属性管理器(View菜单 - > Property manager)将它们附加到相关项目。
例如:
- All.props - >所有项目共有的设置
- Debug.props - >设置仅用于调试版本
- Release.props - >仅适用于发布版本的设置
- Static.props - >静态库项目常用的设置
- Dynamic.props - >仅适用于动态库项目的设置
- Executable.props - >仅对可执行项目通用的设置
这需要预先进行少量工作,才能将属性表添加到现有项目中。然后,无论何时创建新项目,您只需附加相关的属性表即可。维护变得简单 - 更改设置并将更改应用于所有可执行项目,只需更新属性表Executable.props
。
注意:属性表根据它们在层次结构中的位置进行排序,因此属性表中较高的设置将覆盖列表中较低的工作表中的相同设置。这是一个很大的优势 - 您可以将默认设置放在All.props
(从上面的示例中),然后覆盖更具体的属性表中的设置。如果您的一次性项目具有自己的唯一设置,则直接修改项目设置将覆盖所有属性表。