6
मैं एक कार्यक्रम को संकलित करने के (है कि मैं नहीं लिखा था) कोशिश कर रहा हूँ और मैं निम्नलिखित त्रुटि मिलती है:"अभिव्यक्ति के साथ #elif" का क्या अर्थ है?
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
फ़ाइल def.h
इस तरह दिखता है:
#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
पंक्ति 6 लाइन बस है#error "L defined elsewhere"
से पहले।
संकलक है:
$ 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.
कोई भी विचार है कि यह कैसे तय करने के लिए?
आप इस बारे में सुनिश्चित कर रहे हैं: नहीं तो आप अभिव्यक्ति देने के लिए है? मैंने एक सार्वजनिक रेपो – user000001
@ user000001 से डाउनलोड किया: मुझे इसके बारे में बहुत यकीन है। हालांकि, यह संभव हो सकता है कि लोगों द्वारा उपयोग किए गए कंपाइलर को खाली अभिव्यक्ति को '0' के रूप में व्याख्या किया जाता है, जिसके परिणामस्वरूप दिए गए सेगमेंट का कोई संकलन नहीं होगा। लेकिन यह सिर्फ एक टाइपो की तरह दिखता है। – Zeta
मैंने कोशिश की और ऐसा लगता है कि यह काम करता है। Thanx! – user000001