2017-08-21 28 views
1

一個條件宏可以根據當前的Qt版本編譯不同的代碼:添加依賴Qt的版本

#if QT_VERSION < 0x050000 
..... 
#else 
..... 
#endif 

然而,Qt4的和QT5有檢查操作系統不同的宏:Q_WS_WIN -> Q_OS_WINQ_WS_X11 -> Q_OS_LINUX,分別。如何爲某些操作系統添加#ifdef宏?

+1

'#如果定義Q_WS_X11 ||定義的Q_OS_LINUX' –

+1

或者在你的'pro'文件中定義你自己的變量,你也可以根據操作系統([example](https://stackoverflow.com/a/6371554/1559401))分支你的配置,並且可以比在你自己的頭文件/源文件中調用變量。 – rbaleksandar

回答

2

你並不需要使用QT_VERSION,可以選中這兩個版本是這樣的:

#if defined(Q_WS_WIN) || defined(Q_OS_WIN) 
// Windows... 
#elif defined(Q_WS_X11) || defined(Q_OS_LINUX) 
// Linux... 
#endif