Какая разница между CPPFLAGS и CXXFLAGS в GNU Make?
Разница между CPPFLAGS и CXXFLAGS в GNU Make
Ответ 1
CPPFLAGS
должен использоваться для флагов для C P re P; CXXFLAGS
предназначен для флагов для компилятора С++.
По умолчанию правила make (на моей машине, во всяком случае) передают CPPFLAGS
почти все, CFLAGS
передается только при компиляции и связывании C, а CXXFLAGS
передается только при компиляции и связывании С++.
Ответ 2
По умолчанию CPPFLAGS
будет передаваться препроцессору C, а CXXFLAGS
- компилятору С++.
GNU Make Manual является хорошим ресурсом для таких вопросов (см. Неявные переменные).
Ответ 3
CPPFLAGS предназначены для препроцессора C, а CXXFLAGS - для компилятора С++.
Смотрите здесь.
Ответ 4
По умолчанию они настроены на что-то.
На практике вам нужно знать, что делает каждый отдельный проект. Практически никто не использует те значения по умолчанию, встроенные в make, и если вы полагаетесь, например, на CPPFLAGS, что означает "флаги для препроцессора C", вы обнаружите, что проект, о котором вы заботитесь, использовал его для обозначения "флагов для компилятора С++", вместо. И флаг CFLAGS передается в строки компиляции С++? Иногда. Не всегда. Etc и т.д. И т.д.