我在我的QT应用程序上运行“QUdpSocket :: ShareAddress”但是Windows忽略了ShareAddress。所以我试图通过在运行时识别操作系统来解决这个问题。 我听到了一些关于窗口版本标识符的信息,但我看不出任何解决方案来解决我的问题。 如果有任何建议,我们将非常感激。感谢。
答案 0 :(得分:13)
#include <QtGlobal>
...
#ifdef Q_OS_MAC
// mac
#endif
#ifdef Q_OS_LINUX
// linux
#endif
#ifdef Q_OS_WIN32
// win
#endif
有关详细信息,请参阅QtGlobal文档。
答案 1 :(得分:2)
它并不总是最优雅的解决方案,但在编译时使用预处理器定义检查平台绝对有效。
示例:
#ifdef _WIN32
#endif