如何获取操作系统信息,无论是LINUX还是WINDOWS?

时间:2009-11-09 07:47:12

标签: c++ qt

我在我的QT应用程序上运行“QUdpSocket :: ShareAddress”但是Windows忽略了ShareAddress。所以我试图通过在运行时识别操作系统来解决这个问题。 我听到了一些关于窗口版本标识符的信息,但我看不出任何解决方案来解决我的问题。 如果有任何建议,我们将非常感激。感谢。

2 个答案:

答案 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