2015-06-25 9 views
6

(वहाँ जवाब इसी तरह के सवाल कर रहे हैं, लेकिन कोई भी वास्तव में इस पर लागू होता है)सी संकलक त्रुटि: नहीं मिला cdefs.h

मैं फेडोरा 20 और armv71 वास्तुकला (32-बिट) के साथ एक बोर्ड की है। मैंने yum के माध्यम से सभी जीसीसी पुस्तकालयों को स्थापित किया है, जैसे कि gcc, g++, cmake, glibc, glibc-devel आदि (glibc-devel फेडोरा में libc6-dev-i386 के बराबर है)।

मैं एक सी परियोजना है, जो मैक ओएस 64-बिट और Ubuntu 64 बिट पर ठीक संकलित संकलित करने के लिए कोशिश कर रहा हूँ, लेकिन मेरे फेडोरा 20 जब मैं चलाने पर निम्न त्रुटि make देता है:

/usr/include/features.h:364:25: fatal error: sys/cdefs.h: No such file or directory 
# include <sys/cdefs.h> 

जब मैं /usr/include/sys फ़ोल्डर की जांच करता हूं, तो यह खाली है और cdefs.h फ़ाइल सिस्टम पर कहीं भी मौजूद नहीं है।

समस्या यह प्रतीत होती है कि मुझे एक पैकेज (संभवतः?) गुम है, लेकिन यह पता नहीं लगा सकता कि कौन सा गायब है, क्योंकि मुझे लगता है कि सभी इंस्टॉल हो गए हैं। या 32-बिट सी कंपाइलर उस फ़ाइल को किसी विशिष्ट कारण से याद कर रहा है? किसी भी सहायता की सराहना की जाएगी।

+0

"चल रहा' make' "का उपयोग प्रभावी रूप से कुछ भी कर सकते हैं। आपको कंपाइलर आमंत्रण आदेश दिखाने की आवश्यकता है। यह आम तौर पर लाइन की शुरुआत में '@' प्रतीक के साथ नियम में छिपा हुआ है। वास्तव में क्या चल रहा है यह देखने के लिए बस '@' को हटा दें। – stefan

+1

इस धागे को जांचें: http://askubuntu.com/questions/470796/fatal-error-sys-cdefs-h-no-such-file-or- निर्देशिका। असल में आपको केवल libc6-dev-i386 – littleimp

+0

इंस्टॉल करना होगा मैंने धागा देखा है लेकिन फेडोरा में libc6-dev-i386 के बराबर glibc-devel है, इस धागे को जांचें: http://superuser.com/questions/491504/ How-do-i-install-package-libc6-dev-i386-on-fedora हालांकि, मेरे सिस्टम में glibc और glibc-devel स्थापित है (प्रश्न भी अपडेट किया गया है) – mco

उत्तर

0

चूंकि आप एक RPM- आधारित distro पर हैं, तो आप ऐसा कर सकते हैं:

# yum provides '*sys/defs.h' 

और उपकरण कठिन हिस्सा करते हैं।

+0

और यह वास्तव में क्या करता है? – Kamiccolo

+1

आपके RPM डेटाबेस को स्कैन करता है और आपको RPM का नाम बताता है जो "sys/defs.h" के साथ समाप्त होने वाली फ़ाइल की आपूर्ति करता है। –

2

इस आदेश (या इसी तरह की एक, अपने ओएस पर निर्भर करता है)

apt-get install libc6-dev-i386 
संबंधित मुद्दे