2015-04-20 229 views
1

在qmake中定義跨平臺行爲的正確方法是什麼?我試圖合併兩個項目,它們使用相同的代碼庫,但在qmake項目文件中具有不同的參數,用於不同的編譯器標誌或圖標文件等。爲了說明,如果有人從版本控制中提取MyProject.pro並嘗試在mac上運行qmake,我想要在Windows計算機上執行相同的操作時需要改變幾行代碼。有沒有辦法給$> qmake ...或更高版本添加參數,而不必改變任何東西?在你的.pro文件(S)Qt qmake跨平臺開發

win32:{ 
    # Do something Windows specific 
} else { 
    # Options for other platforms 
} 

回答

2

是的,QMake以範圍的形式支持條件語句。基本上,你寫這樣的東西:

DEFINES = MY_DEF 

win32 { 
    DEFINES += WE_ARE_ON_WINDOWS 
    debug { 
    DEFINES += DEBUG_WINDOWS 
    } 
} 

如示例所示,範圍可以嵌套。運營商,例如|的OR也是可能的。

有關變量和函數的完整列表,請參閱QMake documentation

+0

感謝您的文檔參考。沒有太多的資源專門討論如何真正讓項目跨平臺 – pdel