tutorial make makefile gnu-make

tutorial - makefile structure



Diferencia entre CPPFLAGS y CXXFLAGS en GNU Make (4)

¿Cuál es la diferencia entre CPPFLAGS y CXXFLAGS en GNU Make?


Los CPPFLAGS son para el preprocesador C, mientras que los CXXFLAGS son para el compilador C ++.

Mira here .


Por defecto, CPPFLAGS se entregará al preprocesador C, mientras que CXXFLAGS se entregará al compilador C ++.

El Manual de GNU Make es un buen recurso para preguntas como esta (ver variables implícitas ).


Por defecto, están configurados para algo.

En la práctica, necesita saber lo que hace cada proyecto. Prácticamente nadie usa esos valores predeterminados incorporados en make, y si confía en, por ejemplo, CPPFLAGS que significa "banderas para el preprocesador C", encontrará que el proyecto que le interesa lo ha usado para significar "banderas para el compilador C ++" en lugar. ¿Y el indicador CFLAGS pasa a las líneas de compilación C ++? A veces. No siempre. Etc, etc., etc.


CPPFLAGS se supone que es para banderas para el C P re P rocessor; CXXFLAGS es para indicadores para el compilador de C ++.

Las reglas predeterminadas en make (en mi máquina, en cualquier caso) pasan CPPFLAGS a casi todo, CFLAGS solo se pasa al compilar y enlazar C, y CXXFLAGS solo se pasa al compilar y enlazar C ++.