2009-11-09 88 views
1

我在QT應用程序上運行「QUdpSocket :: ShareAddress」,但窗口忽略了ShareAddress。所以我試圖通過在運行時識別操作系統來解決這個問題。 我聽說過一些關於窗口版本識別的信息,但我看不到任何解決方案來解決我的問題。 如果有任何建議,將非常感激。謝謝。如何獲取操作系統信息,無論是LINUX還是WINDOWS?

回答

13
#include <QtGlobal> 
... 
#ifdef Q_OS_MAC 
// mac 
#endif 

#ifdef Q_OS_LINUX 
// linux 
#endif 

#ifdef Q_OS_WIN32 
// win 
#endif 

有關更多信息,請參閱QtGlobal文檔。

+0

感謝您的幫助。我現在就試試。 – KIM 2009-11-09 08:08:18

+0

它確實有效。我也找到了C++的項目。謝謝。 – KIM 2009-11-09 08:36:59

2

它並不總是最優雅的解決方案,但在編譯時使用預處理器定義來檢查平臺是絕對有效的。

例子:

#ifdef _WIN32 
#endif 
+0

感謝您的建議。對於QT和C++,是不是_WIN32? – KIM 2009-11-09 08:09:38

+1

是的,它不是Qt的具體定義。你可以在http://predef.sourceforge.net/preos.html獲得他們的列表。 – Wildcat 2009-11-09 08:55:43

+0

是的,有。謝謝你的幫助。 – KIM 2009-11-09 18:11:57

相關問題