我想使用跨平台的睡眠功能。在其中一个问题中,提出了这样的解决方案。由于 qt 有Q_OS_WIN32和Q_OS_LINUX这样的常量,我决定使用它们而不是自己定义一些。
问题是由于某种原因这些常量是不可见的(两个块都是灰色的),如果你写在 .pro 文件DEFINES += Q_OS_WIN32中,很多关于重新定义定义的错误都会出现,即 有时它仍然被定义,它只是在使用函数处理文件之后发生。
我试图将它包含在尽可能低的位置,但它没有帮助。
我尝试在主目录的最顶部包含 QtGlobal,因为常量在那里,但它也没有帮助。如何正确解决这个问题?
结果,通过
<QtGlobal>使用此函数将文件直接包含在头文件中来解决问题(而不是在 main 的最顶部,如问题中所述)。我不知道这会如何影响,也许在优化代码的过程中定义的顺序发生了变化,但我不敢肯定地说。