【发布时间】:2023-01-29 04:54:58
【问题描述】:
我开始考虑将我的应用程序从 Gtkmm 3.24 移植到 Gtkmm 4.x(还不确定哪个版本)。目前,我只是想了解到底什么被弃用了,以及规划需要做多少工作。简化移植的一种方法是查看 Gtkmm 3.24 版本中所有已弃用的用法,并在移植前将它们更新为较新的风格。我发现了几个可以帮助解决这个问题的宏:
GTKMM_DISABLE_DEPRECATED
GDKMM_DISABLE_DEPRECATED
GLIBMM_DISABLE_DEPRECATED
GIOMM_DISABLE_DEPRECATED
当我#define这些时,编译器在遇到不推荐使用的东西时会抛出错误,因为它们已被禁用。这很好,一旦代码升级,就可以确保代码没有被弃用的用法。
然而,在我的例子中,代码仍然充满了弃用,编译器在遇到第一个弃用时停止编译。这对我理解弃用的位置和需要做多少工作没有多大帮助。我可以着手解决每一个错误,一个一个地解决,直到不再有错误(这最终是我要做的),但我无法提前知道这需要多少时间。
我真正想要的是抛出的宏警告当遇到弃用时,但让编译器继续构建。通过这种方式,我可以获得代码库中已弃用的所有内容的列表,并适当地计划工作。我浏览了 Gtkmm 文档和代码库,但一无所获。
这样的宏是否存在,如果存在,它们是什么?
【问题讨论】: