2011-09-30 47 views
5

tôi vấp ngã trên một lỗi biên dịch:C/C++ tiền xử lý Lỗi

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 

nó trỏ tới:

#ifndef 3DSLOADER_H_ 
#define 3DSLOADER_H_ 

Với thông điệp sau:

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

Tôi đang chạy C/C++ Chương trình OpenGL trên Ubuntu với IDE Eclipse. Tất cả các chương trình khác cho đến nay đang làm việc tốt. Nhưng điều này để tải một tập tin 3DS là mocking xung quanh với tôi đã cho hai ngày mà không có sửa chữa trên nó.

Bất kỳ đề xuất nào? Tất cả các bình luận đều được đánh giá cao!

Trả lời

9

Số nhận dạng C không được bắt đầu bằng số. Hãy thử _H_3DSLOADER thay thế.

Để chính xác: Chúng chỉ có thể bắt đầu bằng chữ cái hoặc dấu gạch dưới.

+0

Thực hiện đề xuất của bạn, tôi đã thay đổi thành loader3D, do đó tiêu đề trở thành LOADER3DS_H_. Sau đó, nó làm việc rất đẹp. Tuyệt vời và cảm ơn rất nhiều người! – ThreaderSlash

Các vấn đề liên quan