2013-08-09 14 views
20
zlib.h

मैं आईबीएम एक्स्ट्रा लार्ज कम्पाइलरों के उपयोग पर ब्लू जीन Q सॉफ़्टवेयर संकलित करने के लिए कोशिश कर रहा हूँ और मैं इस त्रुटि संदेश मिला:संकलन त्रुटि - लापता

"iostreams/zlib.cpp", line 19.10: 1540-0836 (S) The #include file "zlib.h" is not found. 
make[3]: *** [zlib.o] Error 1 

मैं zlib का एक नया संस्करण स्थापित किया है और LD_LIBRARY_PATH अद्यतन के साथ है $HOME/zlib/include

क्या मुझे कुछ याद आ रही है?

उत्तर

7

आप सेट करने के लिए अनुपलब्ध हैं पथ जहां आप zlib शीर्षलेख फ़ाइलें डालते हैं। LD_LIBRARY_PATH पर्यावरण चर सेट करना साझा वस्तुओं (डीएलएल, जो .so के साथ समाप्त होने वाली फ़ाइलों) के गतिशील लिंकिंग के लिए है।

अधिकांश कंप्यूटर्स के पास खोज करने के लिए पथ शामिल करने के लिए -I विकल्प है। और आप शायद -L का उपयोग करना चाहते हैं ताकि कंपाइलर को लिंक करने के लिए लाइब्रेरी मिल सके, और -l का उपयोग करें ताकि संकलक को zlib से लिंक करने के लिए कहा जा सके।

उदा।

sudo apt-get install libz-dev 

फेडोरा पर::

$ c++ -I$HOME/zlib/include some_file.cpp -L$HOME/zlib/lib -lz 
+2

गलत। कर्नोब का जवाब सही है। – SmallChess

+1

@SmallChess यह मानते हुए कि ओपी कहता है "मैंने *** *** स्थापित किया है *** zlib का एक नया संस्करण ..." (जोर मेरा) और मेरा उत्तर स्वीकार्य के रूप में चिह्नित किया गया है, शायद आप विस्तार से क्यों विस्तार कर सकते हैं? सिर्फ इसलिए कि एक उत्तर में अधिक वोट हैं इसका मतलब यह नहीं है कि यह स्वचालित रूप से सही है। –

+1

मुझे लगता है कि ज्यादातर लोगों ने कर्नोब के जवाब को वोट दिया, इस सवाल को पूरी तरह से पढ़ा नहीं। – searchengine27

64

आप zlib.h हेडर फाइल याद कर रहे हैं, लिनक्स पर के माध्यम से इसे स्थापित sudo dnf install libz-devel

यह एक पुस्तकालय Deflate संपीड़न विधि को लागू करने के लिए विकास समर्थन फ़ाइलों को प्रदान करेगा gzip और पीकेजेआईपी में मिला।

यदि आप पहले से ही zlib लाइब्रेरी हैं, तो सुनिश्चित करें कि आप -lz के साथ अपने कोड स्रोत संकलित कर रहे हैं। देखें: How to fix undefined references to inflate/deflate functions?

+2

मुझे फेडोरा 25 के साथ एक ही समस्या थी। समाधान 'sudo dnf स्थापित libz-devel' –

संबंधित मुद्दे