2015-06-10 12 views
6

मैं एक एसटीएल से संबंधित लिंक त्रुटि मिल रही है, माइक्रोसॉफ्ट विजुअल स्टूडियो समुदाय 2015 आर सी (संस्करण 14.0.22823.1 D14REL) का उपयोग नहीं मिल रहा हैलिंकर वी.एस. 2015 आर सी का उपयोग कर त्रुटि, एसटीडी से संबंधित प्रतीक :: codecvt

मैं एक सी ++ DLL जोड़ने कर रहा हूँ और सफलतापूर्वक एसटीएल से कई कार्यों का उपयोग कर, लेकिन यह एसटीडी :: codecvt संबंधित सामान नहीं मिल रहा है:

std::wstring_convert< std::codecvt_utf8<char32_t>, char32_t > convert; 
:

error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class std::locale::id std::codecvt<char32_t,char,struct _Mbstatet>::id" ([email protected][email protected][email protected]@@[email protected]@[email protected]@A) 

स्रोत कोड संदर्भ इस समस्या पैदा कर

मेरा कोड पीढ़ी मल्टीथ्रेड डीएल के लिए है, और मैंने वर्बोज़ लिंकिंग के माध्यम से सत्यापित किया है कि लिंक समय पर एमएसवीसीपीआरटी.लिब की खोज की जा रही है।

कोई विचार?

+0

की एक अद्यतन: वैकल्पिक हल unsigned int या प्रकार का उपयोग करने के लिए है माइक्रोसॉफ्ट MSDN (ज्ञात मुद्दा) पर इस बारे में जवाब दिया: https : //social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error मंच = vcgeneral – topspin

उत्तर

3

समस्या और समाधान को स्पष्ट करने के लिए: माइक्रोसॉफ्ट ने स्वीकार किया कि std::codecvt माइक्रोसॉफ्ट विजुअल स्टूडियो 2015 आरसी के साथ प्रदान की गई एसडीडी लाइब्रेरी में char32_t के खिलाफ नहीं बनाया गया है।

std::wstring_convert< std::codecvt_utf8<unsigned int>, unsigned int > convert; 

या

std::wstring_convert< std::codecvt_utf8<__int32>, __int32 > convert; 

बजाय

std::wstring_convert< std::codecvt_utf8<char32_t>, char32_t > convert; 
+3

इस तरीके से काम करता है, लेकिन यह लाती हैजारी करें कि आपकी मूल_स्ट्रिंग को भी हस्ताक्षरित int पर आधारित होना चाहिए। यह सिर्फ नरक है। – Ident

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