将CFLAGS添加到QMake项目而不在.pro文件中对其进行硬编码?

Rei*_*ica 3 qmake environment-variables

我正在使用分布式编译器,我需要添加-m64CFLAGS,CXXFLAGSLDFLAGS.通常,我在.bashrc中的定义很好,但qmake由于某种原因忽略了它们.这样做的标准方法似乎是编辑.pro文件,但我显然不想对架构进行硬编码.所以,我可以编辑.pro文件,但我无法对其中的任何内容进行硬编码.

我尝试像这样设置CXXFLAGS:

QMAKE_CXXFLAGS += $(CFLAGS)
Run Code Online (Sandbox Code Playgroud)

但它说:

Makefile:17:*递归变量`CXXFLAGS'引用自身(最终).停止.

Rei*_*ica 8

我在发布这个问题之前就已经知道了,但是由于没有其他人对此有好的答案,我想我还是会发布它.

我需要的不是$(ENV_VAR),但是$$(ENV_VAR),所以我将这些添加到我的.pro文件中:

QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
QMAKE_LFLAGS += $$(LDFLAGS)
Run Code Online (Sandbox Code Playgroud)

这使得qmake尊重那些环境变量.请注意,qmake使用LFLAGS而不是LDFLAGS.

这仍然不理想,因为您可能需要重新运行qmake才能更改环境变量,而不是make处理它们,但它绝对比每次都要编辑.pro文件更好.