将 CFLAGS 添加到 QMake 项目而不将它们硬编码到 .pro 文件中?

问题描述 投票:0回答:1

我使用的是分布式编译器,我需要将

-m64
添加到
CFLAGS
CXXFLAGS
LDFLAGS
。通常,我在 .bashrc 中的定义很好,但 qmake 由于某种原因忽略了它们。执行此操作的标准方法似乎是编辑 .pro 文件,但我显然不想对架构进行硬编码。因此,我可以编辑 .pro 文件,但我无法在其中硬编码任何内容。

我尝试像这样设置 CXXFLAGS:

QMAKE_CXXFLAGS += $(CFLAGS)

但它说:

Makefile:17: *** 递归变量“CXXFLAGS”引用自身(最终)。停下来。

environment-variables qmake
1个回答
10
投票

我不需要

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

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

这使得 qmake 尊重这些环境变量。请注意,qmake 使用

LFLAGS
而不是
LDFLAGS

这仍然不理想,因为您可能需要重新运行

qmake
来更改环境变量,而不是让
make
智能地处理它们,但这绝对比每次都编辑 .pro 文件要好。

© www.soinside.com 2019 - 2024. All rights reserved.