android - Qt 检查平台类型 : Mobile or Desktop

标签 android c++ ios linux qt

我正在寻找一些可用于检查我的应用程序是在手机/平板电脑还是计算机上执行的代码。这是一个示例来解释我在做什么:

#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 的原因是移动、桌面和嵌入式的定义是模糊的。例如,Q_OS_QNX 与 Q_OS_BLACKBERRY 一起设置,Q_OS_DARWIN 在 Q_OS_IOS 和 Q_OS_MACX 上设置。 Android 上的 Q_OS_LINUX 存在类似问题,然后围绕 Windows 版本存在一系列混淆。

如果您建议的定义适用于您的用例,我认为这是一种完全合理的处理方式。不过,我可能会对 Q_OS_foo 使用不同的命名方案。

关于android - Qt 检查平台类型 : Mobile or Desktop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811046/

相关文章:

android - fragment 被销毁后停止处理程序

类中的 C++ fstream

ios - 写入 Realm 数据库时崩溃

c++ - Visual Studio watch 显示同一对象的不同值

ios - 如何共享 QR 创建的图像 swift 4

ios - 如何获取指向 MKPointAnnotation 的方向

android - 无法实例化 Activity com.google.android.gms.drive.sample.quickstart

android - 在 android.mk 中使用包含 $(BUILD_MULTI_PREBUILT)

java - OpenCV Android 在 Imgproc.cvtColor() 上崩溃

c++ - 如何判断 PCL 应用程序需要哪些库