【发布时间】:2019-09-01 19:49:26
【问题描述】:
自从在 C++11 中包含 range-for 以来,我们一直在迁移 Qt 代码,因此它不再使用 Q_FOREACH/foreach 宏。为了强制迁移,我们手动将QT_NO_FOREACH 预处理器定义添加到我们检查的每个项目中。我们使用 Visual Studio 和 Qt VS Tools 插件。
我的问题是:有没有办法自动将这样的宏添加到新的 Qt 项目中?我检查了全局 Qt VS Tools 设置,那里什么也没有。可能是我们可以更改加载项中的一些隐藏变量?
显然,我们可以手动添加它们,但我们更希望有一些一次性解决方案。我们还考虑了属性页的使用,但它们要么是基于每个用户的(不是存储库的一部分,并且适用于所有项目,不仅是 Qt 的),或者必须手动包含在项目中(在这种情况下在项目设置中手动添加定义会更容易)。
注意:我们知道将表单 Q_FOREACH 迁移到 range-for 的含义,以及如何正确进行更改以避免 COW 惩罚。如果您想了解更多信息,请查看here、here 和here。
【问题讨论】:
标签: c++ visual-studio qt qt-vs-addin