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?