6
Tôi cố gắng để biên dịch chương trình (mà tôi đã không viết) và tôi nhận được lỗi sau:"#elif không có biểu thức" nghĩa là gì?
C read.c ...
In file included from read.c:6:0:
def.h:6:6: error: #elif with no expression
make: *** [read.o] Error 1
file def.h
trông như thế này:
#ifndef TRACE_DEF
#define TRACE_DEF
#ifndef L
#define L 152064 /* (352 * 288 * 1.5) */
#elif
#error "L defined elsewhere"
#endif
#ifndef MIN
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#endif
#ifndef MAX
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
dòng 6 là dòng chỉ trước#error "L defined elsewhere"
.
Compiler là:
$ gcc --version
gcc-4.6.real (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Bất kỳ ý tưởng làm thế nào để sửa chữa nó?
Bạn có chắc chắn về điều đó? Tôi đã tải xuống từ repo công khai – user000001
@ user000001: Tôi khá chắc chắn về điều đó. Tuy nhiên, có thể trình biên dịch được mọi người sử dụng diễn giải một biểu thức trống là '0', điều này sẽ dẫn đến việc không biên dịch phân đoạn đã cho trước đây. Nhưng nó trông giống như một lỗi đánh máy. – Zeta
Tôi đã thử nó và có vẻ như nó hoạt động. Thanx! – user000001