Добавьте CFLAGS в проект QMake без жесткого кодирования их в the.pro файл?
Я использую распределенный компилятор, и мне нужно добавить -m64
к CFLAGS
, CXXFLAGS
и LDFLAGS
. Обычно, мои определения В.bashrc хороши, но qmake игнорирует их по какой-то причине. Стандартный способ сделать это, кажется, заключается в редактировании файла .pro, но я, очевидно, не хочу жестко кодировать архитектуру. Итак, я могу редактировать файл .pro, но я не могу ничего в нем жестко закодировать.
Я попробовал установить CXXFLAGS следующим образом:
QMAKE_CXXFLAGS += $(CFLAGS)
Но там написано: {[8]]}
Makefile: 17: * рекурсивная переменная 'CXXFLAGS' ссылается сама на себя (в конечном счете). Стоп.
1 ответ:
Я понял это прямо перед тем, как отправить вопрос, но поскольку ни у кого другого нет хорошего ответа на этот вопрос, я решил, что все равно отправлю его.
Мне нужно было не
$(ENV_VAR)
, а$$(ENV_VAR)
, поэтому я добавил их в свой файл.pro
:QMAKE_CXXFLAGS += $$(CXXFLAGS) QMAKE_CFLAGS += $$(CFLAGS) QMAKE_LFLAGS += $$(LDFLAGS)
Это заставляет qmake уважать эти переменные среды. Обратите внимание, что qmake использует
LFLAGS
вместоLDFLAGS
.Это все еще не идеально, потому что вам может понадобиться повторно запустить
qmake
, чтобы изменить переменные среды, вместо того, чтобыmake
обрабатывать их разумно, но это определенно лучше, чем каждый раз редактировать файл .pro.