दिलचस्प पोस्ट
सी ++ सिंगलटन डिजाइन पैटर्न एक्सप्लोरर की तरह फ़ोल्डर ब्राउज़र नियंत्रण कैसे बनाएं? क्या "const" का मतलब सिर्फ पढ़ने-योग्य या कुछ और है? एंड्रॉइड में SSL ट्रस्ट प्रबंधक को ओवरराइड करना कक्षाओं के लिए सीएसएस में वाइल्डकार्ड * wait_fences: उत्तर प्राप्त करने में विफल रहा: 10004003 त्रुटि – UITextField वर्तमान के बिना UIAlert मैं अपने आवेदन को एक्लिप्स से सुपरयुजर के रूप में कैसे चलाऊं? नया CSRF टोकन प्रति अनुरोध या नहीं? चयनित <option> में <select> element का टेक्स्ट पुनर्प्राप्त करना आप SQL सर्वर लेनदेन लॉग को कैसे साफ़ करते हैं? क्या लॉक () गारंटी का अनुरोध किया गया है? ट्यूप्ले को खोलने के लिए अजगर का रास्ता क्या है? MySQL – एक तालिका के आईडी क्षेत्र में समकक्ष के बिना संख्याओं की सूची से चुनें UIScrollView के साथ केन्द्रित UIImageView, जैसे फ़ोटो ऐप प्रारंभिक सूची के लाभ

stoi और std :: to_string mingw पर 4.7.1

वैसे मैं अपने सी ++ 11 प्रोग्राम को खिड़कियों तक बंद करना चाहता था, लेकिन ऐसा लगता है कि 4.7.1 में कोई stoi और std :: to_string लागू नहीं है मुझे पता है कि यह पूछा गया है और कुछ शीर्षलेख को संपादित करने का एक समाधान था, लेकिन मेरे मिंगव्यू संस्करण में (4.7.1 कोडेलाइट के साथ भेज दिया गया है) हेडर अलग है और मुझे सही दिशा में ले जाने की सटीक पंक्तियां नहीं हैं (संभवतः क्योंकि जवाब था मिंगव के लिए 4.6)

तो मेरा सवाल है कि कैसे मैं इन कार्यों को 4.7 पर मिल सकता हूं? क्या कोई मार्गदर्शिका 4.7 में हैडर में बदलने के लिए है या शायद यह 4.8 में शामिल हो जाएगा?

निश्चित रूप से बढ़ावा देने वाला है: lexical_cast, लेकिन मैं अपना कोड अपरिवर्तित रखना चाहते हैं, इसलिए मैं समाधान की तलाश कर रहा हूं कि कैसे इन कार्यों को मिंगव में सक्षम किया जा सकता है

हो सकता है कि कुछ कस्टम मिंगव्स डिस्ट्रो जो इन कार्यों के लिए समर्थन के साथ आता है?

Solutions Collecting From Web of "stoi और std :: to_string mingw पर 4.7.1"

मिंगव विंडोज़ एपीआई का उपयोग करता है, और विंडोज vswprintf को कार्यान्वित करने के लिए उपयोग किए गए vswprintf फंक्शन के अनुरूप संस्करण प्रदान नहीं करता, माइक्रोसॉफ्ट को दोष देता है।

यदि आप mingw-w64 कांका के एक (बहुत) हाल के संस्करण का उपयोग करते हैं और जीसीसी के अनफ्रेज़ेड 4.8 संस्करण का उपयोग करते हैं तो यह काम करेगा, लेकिन आप मुख्य मिंगव 32 और जीसीसी 4.7.1 के साथ भाग्य से बाहर हैं।

यदि आप अपने कार्यान्वयन को तैयार करने के लिए तैयार हैं, तो आप http://tehsausage.com/mingw-to-string पर दिए गए समाधान की कोशिश कर सकते हैं, लेकिन सावधानी से पढ़ें

अद्यतन करें:

ऐसा लगता है कि केवल std::to_wstring टूटे हुए vswprintf फ़ंक्शन से प्रभावित है, इसलिए मैंने जीसीसी 4.9.3 (और बाद के संस्करण) के लिए एक बदलाव किया है जो std::stoi , std::stod , std::to_string को परिभाषित करेगा आदि MinGW के लिए, और केवल to_wstring अपरिभाषित छोड़ दें।

यदि आप 4.7.1 शीर्षलेख को स्वयं संपादित करना चाहते हैं, तो यहां प्रासंगिक पैच है:

 --- a/home/jwakely/gcc/4.7.1/include/c++/4.7.1/bits/basic_string.h +++ b/home/jwakely/gcc/4.7.1/include/c++/4.7.1/bits/basic_string.h.fix @@ -2808,8 +2808,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace -#if (defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) +#if (defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99) #include <ext/string_conversions.h> @@ -2959,6 +2958,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION stold(const wstring& __str, size_t* __idx = 0) { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } +#ifndef _GLIBCXX_HAVE_BROKEN_VSWPRINTF // DR 1261. inline wstring to_wstring(int __val) @@ -3021,6 +3021,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION L"%Lf", __val); } #endif +#endif _GLIBCXX_END_NAMESPACE_VERSION } // namespace