gcc no puede encontrar un encabezado incluido

1 minuto de lectura

Estoy usando un encabezado llamado colors.h para organizar mi código fuente. El encabezado es así:

#define DEFAULT 0x07
#define BLACK 0
#define GRAY 7
#define BLUE 9
#define GREEN 10
#define CYAN 11
#define RED 12
#define MAGENTA 13
#define YELLOW 14

Estoy poniendo el encabezado en el mismo directorio del código fuente principal, llamado kernel.ce incluyéndolo así:

#include <colors.h>

Pero cuando intento compilar, obtengo esto:

ubuntu@eeepc:~/Desarrollo/Prueba$ gcc -o kernel.o -c kernel.c -Wall -Wextra -nostdlib -nostartfiles -nodefaultlibs
kernel.c:1:20: error: colors.h: No existe tal archivo o directorio
ubuntu@eeepc:~/Desarrollo/Prueba$

¿Qué puedo hacer para solucionar esto?

  • Dupe de stackoverflow.com/questions/973146/… entre muchos otros.

    luego

    26 de enero de 2010 a las 14:22

Usa comillas:

#include "colors.h"

El uso de comillas buscará primero en el mismo directorio y luego en las rutas de inclusión especificadas. El uso de paréntesis angulares se verá solo en las rutas de inclusión.

Los corchetes angulares se utilizan para buscar un encabezado en las rutas de encabezado implícitas. Los encabezados en rutas explícitas, incluido el directorio actual, necesitan comillas.

#include <colors.h> le dice a GCC que mire donde encuentra los encabezados C estándar, probablemente no donde tiene su encabezado. #include "colors.h le dice a GCC que busque encabezados en el directorio de trabajo actual

  • Así que quieres usar este último en este caso

    – construido1n

    02/04/2013 a las 15:29

#include "colors.h"

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad