В чем разница между CPPFLAGS и CXXFLAGS в GNU Make?
Ответы:
CPPFLAGS
Предполагается, что для флагов для C P повторно P rocessor; CXXFLAGS
предназначен для флагов компилятора C ++.
Правила по умолчанию в make (на моей машине, во всяком случае) передаются CPPFLAGS
практически всему, CFLAGS
передаются только при компиляции и компоновке C и CXXFLAGS
передаются только при компиляции и компоновке C ++.
x
это +
оказалось на его стороне , потому что C++FLAGS
взорвут компилятор. ... Возможно, я опоздал на вечеринку, но это все равно лучше, чем прийти вовремя не на ту вечеринку.
CPPFLAGS
это НЕ для C P Lus P СЗП , но CXXFLAGS
есть.
По умолчанию CPPFLAGS
передается препроцессору C, а CXXFLAGS
передается компилятору C ++.
Руководство GNU Make Manual - хороший ресурс для ответов на подобные вопросы (см. Неявные переменные ).
CPPFLAGS предназначены для препроцессора C, а CXXFLAGS - для компилятора C ++.
Смотрите здесь .
По умолчанию они на что-то настроены.
На практике вам нужно знать, что делает каждый отдельный проект. Практически никто не использует эти значения по умолчанию, встроенные в make, и если вы полагаетесь, например, на CPPFLAGS, означающее «флаги препроцессора C», вы обнаружите, что проект, который вам нужен, использовал его как «флаги для компилятора C ++». вместо. И передается ли флаг CFLAGS строкам компиляции C ++? Иногда. Не всегда. И т. Д. И т. Д. И т. Д.
make -p