mingw/include/c++/cstdlib: stdlib.h: ऐसा कोई फ़ाइल या निर्देशिका नहीं




gcc cmake (2)

#include_next का उपयोग मेरे Googling के आधार पर बहुत से मुद्दों के कारण प्रकट होता है। निम्न सिंटैक्स का उपयोग करके सीधे stdlib.h सहित प्रयास करें:

-isystem /usr/x86_64-w64-ming32/sys-root/mingw/include/c++

तीसरे पक्ष के पुस्तकालयों के साथ समस्याओं को हल करने के लिए यह वाक्यविन्यास gcc 6.0 में जोड़ा गया था। दृष्टिकोण और तर्क के लिए यहां देखें

संपादित करें: जीसीसी रैपर_हेडर्स और #include_next बारे में नई जानकारी को प्रतिबिंबित करने के लिए बदल दिया गया जवाब

मैं मिनगू के माध्यम से 64-बिट विंडोज़ के लिए ओपन आईमेजआईआईओएस को क्रॉस-कंपाइल करने की कोशिश कर रहा हूं। निर्भरता के mingw संस्करणों को पुनर्प्राप्त करने के लिए yum का उपयोग करने के बाद, मैं mingw64-cmake बनाकर make बाद चला गया हालांकि, अभी मैं stdlib.h बारे में एक संकलन त्रुटि प्राप्त नहीं पाया जा रहा है।

[  0%] Built target CopyFiles
[  0%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/argparse.cpp.obj
In file included from .../oiio/src/libutil/argparse.cpp:36:0:
/usr/x86_64-w64-mingw32/sys-root/mingw/include/c++/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
#include_next <stdlib.h>
              ^~~~~~~~~~
compilation terminated.

मैंने पुष्टि की है कि कम से कम /usr/include/ और /usr/x86_64-w64-mingw32/sys-root/mingw/include/c++/ stdlib.h पाया जाता है जहां कंपाइलर त्रुटि देने वाली फाइल भी स्थित है।

मुझे अभी भी त्रुटि क्यों मिली है stdlib.h: No such file or directory ?

अद्यतन: मैंने अतिरिक्त अनुसंधान किया और निम्नलिखित को सीखा: The preprocessor directive #include_next behaves like the #include directive, except that it specifically excludes the directory of the including file from the paths to be searched for the named file.

यह stdlib.h कि stdlib.h एक ही फ़ोल्डर से stdlib.h क्यों नहीं stdlib.h है। लेकिन cstdlib का हिस्सा है और मैं उस कोड का कोई भी हिस्सा नहीं संकलित करने का प्रयास कर रहा हूं। इसलिए मुझे अब भी पता नहीं है कि यहां क्या गलत है या इस त्रुटि को ठीक कैसे करें

संपादित करें : यहां कंपाइलर संस्करण की जानकारी है, यदि यह किसी भी तरह से है: https://pastebin.com/PZiXS2fg यह एक ताजा स्थापित है, इसलिए वहां असामान्य कुछ भी नहीं होना चाहिए, हालांकि।


मैंने इसे हल किया, मैं फिर से संकलन कर सकता हूँ।

समाधान (मेरे लिए) पथ को CPLUS_INCLUDE_PATH और इसे न्यूनतम ग में CPLUS_INCLUDE_PATH c ++ निर्देशिका में, मेरे लिए: C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++

मुझे उम्मीद है कि यह आपके लिए भी काम करेगी