2013-07-10 51 views
2

我使用的是分佈式編譯器,我需要將-m64添加到CFLAGSCXXFLAGSLDFLAGS。通常,我在.bashrc中的定義很好,但qmake由於某種原因忽略它們。這樣做的標準方式似乎是編輯.pro文件,但我顯然不想對體系結構進行硬編碼。所以,我可以編輯.pro文件,但我不能硬編碼任何東西。將CFLAGS添加到QMake項目,而無需在.pro文件中對其進行硬編碼?

我試着設置CXXFLAGS這樣的:

QMAKE_CXXFLAGS += $(CFLAGS) 

但它說:

的Makefile:17:*遞歸變量'CXXFLAGS」引用自身(最終)。停止。

回答

7

在我發佈這個問題之前,我想到了這個問題,但由於沒有其他人對此有很好的回答,所以我想我會發布它。

我需要的不是$(ENV_VAR),但$$(ENV_VAR),所以我說這些我.pro文件:

QMAKE_CXXFLAGS += $$(CXXFLAGS) 
QMAKE_CFLAGS += $$(CFLAGS) 
QMAKE_LFLAGS += $$(LDFLAGS) 

這使得QMAKE尊重這些環境變量。請注意,qmake使用LFLAGS而不是LDFLAGS

這仍然不理想,因爲您可能需要重新運行qmake來更改環境變量,而不是讓make智能地處理它們,但它絕對比每次編輯.pro文件都要好。

相關問題