[英]Apply a property change to all DLL projects in a solution
我有一個包含大約150個項目的解決方案,其中包括靜態庫,動態庫和可執行文件,以及一些基於Makefile的項目(很好的解決方案),所以我有一個解決該問題的擴展版本。
我需要對所有EXE和DLL項目的鏈接器頁面進行更改(為Rational Purify的利益添加/FIXED:NO
)。 有沒有辦法可以輕松地做到這一點,例如借助宏?
我將直接修改項目文件-畢竟它們是XML,您可以輕松地發現需要對它們進行哪些更改才能添加標志。 然后,您可以編寫一個Python腳本來修改所有項目文件。
您可以創建一個公共項目屬性,然后可以修改相關項目以繼承此公共屬性,因此當下次您只需要修改公共項目屬性時,繼承該項目的項目將自動同步新設置。 屬性表(C ++)
要使用“繼承的項目屬性表”屬性應用屬性表中定義的項目設置,請執行以下操作:
這正是屬性表設計的目的。 創建屬性表的層次結構,其中包含某些類型的項目共有的設置,然后使用屬性管理器將它們附加到相關項目(“查看”菜單->“屬性管理器”)。
例如:
- All.props->所有項目通用的設置
- Debug.props->僅調試版本通用的設置
- Release.props->僅發布版本通用的設置
- Static.props->設置僅對靜態庫項目通用
- Dynamic.props->僅動態庫項目共有的設置
- Executable.props->僅適用於可執行項目的設置
為了將屬性表添加到現有項目中,這需要少量的前期工作。 然后,每當您創建一個新項目時,您要做的就是附加相關的屬性表。 維護變得容易-更改設置並將更改應用到所有可執行項目,您只需更新屬性表Executable.props
。
注意:屬性表是根據它們在層次結構中的位置排序的,因此位於屬性表上方的設置將覆蓋列表下方的表中的相同設置。 這是一個很大的優勢-您可以將默認設置放在All.props
(從上面的示例中),然后在更具體的屬性表中覆蓋設置。 如果您有一個具有自己唯一設置的一次性項目,則直接修改項目設置將覆蓋所有屬性表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.