我正在寻找一些代码,我可以用来检查我的应用程序是在移动设备/平板电脑还是计算机上执行.这是一个解释我在做什么的示例:
#include <QtGlobal> #if defined Q_OS_BLACKBERRY || defined Q_OS_ANDROID || defined Q_OS_IOS || defined Q_OS_WP #define Q_OS_MOBILE #else #define Q_OS_DESKTOP #endif
它看起来怎么样?我重新发明轮子了吗?
解决方法
没有(据我所知)预制#defines的原因是移动与桌面vs嵌入的定义是模糊的.例如,Q_OS_QNX与Q_OS_BLACKBERRY一起设置,Q_OS_DARWIN在Q_OS_IOS和Q_OS_MACX上设置. Android上Q_OS_LINUX的类似问题,然后围绕Windows版本存在一系列混乱.
如果您建议的定义适用于您的用例,我认为这是一种非常合理的方法.我可能会对Q_OS_foo使用不同的命名方案.