Разница между CPPFLAGS и CXXFLAGS в GNU Make
в чем разница между CPPFLAGS и CXXFLAGS в GNU Make?
4 ответов
CPPFLAGS
должен быть для флагов для C PreProcessor; CXXFLAGS
для флагов для компилятора C++.
правила по умолчанию в make (на моей машине, во всяком случае) проходят CPPFLAGS
почти все, CFLAGS
передается только при компиляции и компоновки C и CXXFLAGS
передается только при компиляции и связывания в C++.
по умолчанию CPPFLAGS
будет передано препроцессору C, в то время как CXXFLAGS
будет передан компилятору c++.
на GNU сделать руководство является хорошим ресурсом для таких вопросов (см. Неявные Переменные).
CPPFLAGS предназначены для препроцессора C, а CXXFLAGS-для компилятора C++.
посмотреть здесь.
по умолчанию, они настроены на что-то.
на практике вам нужно знать, что делает каждый проект. Практически никто не использует эти значения по умолчанию, встроенные в make, и если вы полагаетесь, например, на CPPFLAGS, означающие "флаги для препроцессора C", вы обнаружите, что проект, о котором вы заботитесь, использовал его вместо "флаги для компилятора C++". И передается ли флаг CFLAGS в строки компиляции C++? Иногда. Не всегда. И т. д. и т. п. и т. д.