Разница между CPPFLAGS и CXXFLAGS в GNU Make - PullRequest
125 голосов
/ 30 января 2009

В чем разница между CPPFLAGS и CXXFLAGS в GNU Make?

Ответы [ 4 ]

193 голосов
/ 30 января 2009

CPPFLAGS предполагается для флагов для C P re P rocessor; CXXFLAGS для флагов для компилятора C ++.

Правила по умолчанию в make (на моем компьютере, во всяком случае) передают CPPFLAGS практически всем, CFLAGS передается только при компиляции и компоновке C, а CXXFLAGS только при компиляции и компоновке C ++ .

31 голосов
/ 30 января 2009

По умолчанию CPPFLAGS передается препроцессору C, а CXXFLAGS - компилятору C ++.

Руководство по GNU Make - хороший ресурс для вопросов, подобных этому (см. Неявные переменные ).

17 голосов
/ 30 января 2009

CPPFLAGS для препроцессора C, а CXXFLAGS для компилятора C ++.

См. здесь .

0 голосов
/ 29 сентября 2017

По умолчанию они настроены на что-то.

На практике вам нужно знать, что делает каждый проект. Практически никто не использует эти значения по умолчанию, встроенные в make, и если вы полагаетесь, например, на CPPFLAGS, означающий «флаги препроцессору C», вы обнаружите, что интересующий вас проект использовал его для обозначения «флагов компилятору C ++». вместо. И передается ли флаг CFLAGS в строки компиляции C ++? Иногда. Не всегда. И т. Д. И т. Д.

...