2016-04-26 72 views
2

我試圖做一個QMAKE .pro文件樹莓-PI(不適用於交叉編譯)Y可以使用不同平臺的條件語句定義編譯:qmake的條件爲樹莓派

linux-g++-64: { 
message(We are in Linux 64 bits) 
} 
macx: { 
message(we are in mac osX) 
} 
win32: .... 

但我無法找到一種方法來檢測當我在raspberry raspberry時,平臺看起來像linux-g ++

我嘗試了一些像linux-arm:arm-linux:linux-arm-gnueabi-g ++ :但不是運氣。

有人知道做出這個條件定義的正確方法,或者如何檢測我們是否在樹莓派框架中編譯?

+0

的可能的複製[qmake的:使用定義如條件](http://stackoverflow.com/questions/34670326/qmake-using-defines-as-conditionals) – Troyseph

+0

@Troyseph Thakns爲TE鏈路但我認爲這是不一樣的,在另一篇文章中,「變量」在.pro文件中是固定的。在我的情況下,我想要做外部因爲我想爲X86和ARM體系結構相同的.pro文件。 – Mquinteiro

+0

我將問題標記爲重複項,因爲您都要求提供相同的功能(方式稍有不同),並且該問題的答案可幫助您實現目標。雖然不是直接重複,但鏈接這兩個問題對您和未來的用戶都有幫助。 – Troyseph

回答

1

好吧, 看起來好像沒有人有答案,所以我採取了一種解決方法,適用於我,如果它適合您,我會很高興。

在執行qmake的我聚集一個標誌的時間,例如

qmake CONFIG+=MQ_ARM -r 

它將執行的qmake遞歸和標誌傳遞到每個pro文件。

在.pro文件,你可以補充一點:

MQ_ARM { 
    LIBS +=bla bla 
    message(USING ARM LIBRARY) 
} else:MQ_i686 { 
    LIBS +=bla bla 
    message(USING 32bits LIBRARY) 
} 
else { 
    LIBS +=bla bla bla 
    message(qmake configurated as x86_64 if you want another conf use qmake CONFIG+=MQ_ARM project.pro - 
} 

可以分離到另一個文件project.pri和所有子項目的.pro文件包括與包括(project.pri)

希望它有助於!