Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error: los nombres de macro deben ser identificadores

Estas en el tema de Error: los nombres de macro deben ser identificadores en el foro de C/C++ en Foros del Web. Buenas, estoy intentando hacer un archivo cabecera, pero al momento de intentar compilar el main.c me manda un error el cual no entiendo que es ...
  #1 (permalink)  
Antiguo 07/10/2012, 16:48
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 14 años, 9 meses
Puntos: 2
Error: los nombres de macro deben ser identificadores

Buenas, estoy intentando hacer un archivo cabecera, pero al momento de intentar compilar el main.c me manda un error el cual no entiendo que es lo que me quiere decir.
Cita:
In file included from main.c:4:0:
Lectura.h:1:9: error: los nombres de macro deben ser identificadores
Si bien, esto es lo que llevo escrito por si se requiere para determinar cual es el error

Lectura.h
Código C:
Ver original
  1. #ifndef "LECTURA_H"
  2. #define "LECTURA_H"
  3.  
  4. int leer(char *);
  5.  
  6. #endif
Lectura.c
Código C:
Ver original
  1. #include <stdio.h>
  2. #include "Lectura.h"
  3.  
  4. int leer( char *archivoTexto){
  5.     FILE *archivo;
  6.     archivo = fopen(archivoTexto, "w");
  7.     if(archivo==NULL) return 1;
  8.     fprintf(archivo, "wolaslasa\n");
  9.     fclose(archivo);
  10.     return 0;
  11. }
main.c
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include "Lectura.h"
  4.  
  5. main(int argv, char **argc){
  6.     int n = leer(argc[1]);
  7. }

PD: Estoy usando la terminal de Ubuntu 12.04, compilador gcc

PD2: No pongan mucha atención a la funcionalidad del programa, se que hay muchas cosas incoherentes, pero estoy recién aprendiendo C y quisiera de partida saber que es lo q causa dicho problema.

Gracias
  #2 (permalink)  
Antiguo 07/10/2012, 17:28
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Error: los nombres de macro deben ser identificadores

Va sin comillas esos define:

Código C:
Ver original
  1. #ifndef LECTURA_H
  2. #define LECTURA_H
  3.  
  4. int leer(char *);
  5.  
  6. #endif
  #3 (permalink)  
Antiguo 10/10/2012, 21:58
 
Fecha de Ingreso: junio-2009
Mensajes: 84
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Error: los nombres de macro deben ser identificadores

Gracias, haciendo el solucionaste el problema, pero al compilar me da otro error:
Código C:
Ver original
  1. /tmp/ccEjTvQi.o: In function `main':
  2. main.c:(.text+0x1e): undefined reference to `leer'
  3. collect2: ld devolvió el estado de salida 1
Lo consulté con un amigo, pero me dijo que debería estar todo en orden, no supimos porque da ese problema, sin mencionar tambien que en google no encontramos mucho
  #4 (permalink)  
Antiguo 11/10/2012, 09:35
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Error: los nombres de macro deben ser identificadores

Como estas compilando? Eso sucede porque no estas linkeando los dos archivos....
Usas una ide o compilas en consola?

En consola deberias hacer:

gcc main.c Lectura.c -o main

Etiquetas: compilar, funcion, int, macro, nombres, programa, identificador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.