2011-09-30 9 views
5

me tropiezo con un error de compilación:error C/C++ preprocesamiento

Invoking: GCC C Compiler 
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/3dsloader.d"-MT"src/3dsloader.d" -o "src/3dsloader.o" "../src/3dsloader.c" 
In file included from ../src/3dsloader.c:42: 
../src/3dsloader.h:8:9: error: macro names must be identifiers 
make: *** [src/3dsloader.o] Error 1 

al que apunta:

#ifndef 3DSLOADER_H_ 
#define 3DSLOADER_H_ 

con el siguiente mensaje:

Multiple markers at this line 
    macro names must be identifiers 
    macro definition not found: #ifndef 3DSLOADER_H_ 

estoy corriendo el C/C++ Programa OpenGL en Ubuntu con Eclipse IDE. Todos los demás programas hasta ahora funcionan bien. Pero este para cargar un archivo 3DS ya se burla de mí desde hace dos días sin fijarlo.

¿Alguna sugerencia? ¡Todos los comentarios son muy apreciados!

Respuesta

9

Los identificadores C pueden no comenzar con un número. Pruebe _H_3DSLOADER en su lugar.

Para ser exactos: pueden comenzar solamente con letras o un guión bajo.

+0

Al hacer su sugerencia, cambié a loader3D, por lo que el encabezado se convirtió en LOADER3DS_H_. Entonces funcionó maravillosamente. Genial y muchas gracias hombre! – ThreaderSlash

Cuestiones relacionadas