我使用的是分布式编译器,我需要将
-m64
添加到 CFLAGS
、CXXFLAGS
和 LDFLAGS
。通常,我在 .bashrc 中的定义很好,但 qmake 由于某种原因忽略了它们。执行此操作的标准方法似乎是编辑 .pro 文件,但我显然不想对架构进行硬编码。因此,我可以编辑 .pro 文件,但我无法在其中硬编码任何内容。
我尝试像这样设置 CXXFLAGS:
QMAKE_CXXFLAGS += $(CFLAGS)
但它说:
Makefile:17: *** 递归变量“CXXFLAGS”引用自身(最终)。停下来。
我不需要
$(ENV_VAR)
,而是 $$(ENV_VAR)
,所以我将这些添加到我的 .pro
文件中:
QMAKE_CXXFLAGS += $$(CXXFLAGS)
QMAKE_CFLAGS += $$(CFLAGS)
QMAKE_LFLAGS += $$(LDFLAGS)
这使得 qmake 尊重这些环境变量。请注意,qmake 使用
LFLAGS
而不是 LDFLAGS
。
这仍然不理想,因为您可能需要重新运行
qmake
来更改环境变量,而不是让 make
智能地处理它们,但这绝对比每次都编辑 .pro 文件要好。