我正在使用分布式编译器,我需要将-m64
添加到CFLAGS
,CXXFLAGS
和LDFLAGS
。通常,我在.bashrc中的定义很好,但qmake由于某种原因忽略了它们。这样做的标准方法似乎是编辑.pro文件,但我显然不想对架构进行硬编码。所以,我可以编辑.pro文件,但我无法对其中的任何内容进行硬编码。
我尝试像这样设置CXXFLAGS:
QMAKE_CXXFLAGS += $(CFLAGS)
但它说:
Makefile:17: * 递归变量`CXXFLAGS'引用自身(最终)。停止。
答案 0 :(得分:8)
我在发布这个问题之前就已经知道了这一点,但由于没有其他人对此有好的答案,我想我还是会发布它。
我需要的不是$(ENV_VAR)
,而是$$(ENV_VAR)
,所以我将这些添加到我的.pro
文件中:
QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
QMAKE_LFLAGS += $$(LDFLAGS)
这使得qmake尊重那些环境变量。请注意,qmake使用LFLAGS
代替LDFLAGS
。
这仍然不理想,因为您可能需要重新运行qmake
来更改环境变量,而不是让make
处理它们,但它肯定比编辑它更好。每次都是专业档案。