2010-11-02 13 views
32

से मेल नहीं खाता है, मैंने अभी विज़ुअल स्टूडियो (सी ++) समाधान को दूसरे कंप्यूटर पर ले जाया है, जहां तक ​​मैं देख सकता हूं, सभी निर्देशिकाओं और सेटिंग्स को सेटअप करता हूं, और एक किया समाधान पर साफ/पुनर्निर्माण। मुझे संकलन पर .obj के समूह पर उपरोक्त त्रुटि मिलती है, सुनिश्चित नहीं है कि इसके बारे में क्या करना है।_iterator_debug_level value '0' मान '2'

उत्तर

26

ऐसा लगता है कि आप अलग-अलग सेटिंग्स के साथ बनाई गई ऑब्जेक्ट फ़ाइलों को मिश्रित कर रहे हैं। एक पूर्ण स्वच्छ पुनर्निर्माण करने का प्रयास करें और यह सुनिश्चित करने के लिए सभी परियोजना फ़ाइल सेटिंग्स जांचें कि _ITERATOR_DEBUG_LEVEL मैक्रो एक जैसा है (उदाहरण के लिए, आप डीबग मिश्रण नहीं कर रहे हैं और निर्मित ऑब्जेक्ट्स को रिलीज़ नहीं कर रहे हैं)।

+4

किसी कारण से मेरी परियोजनाओं में से एक को रिलीज मोड में परिभाषित _SECURE_SCL = 1 था और इससे लिंकर त्रुटि हुई। – Gyuri

+0

एक अन्य संभावना है कि कुछ परियोजना/स्रोत फ़ाइल _HAS_ITERATOR_DEBUGGING – korbes

16

मिक्सिंग बाइनरी (ऑब्जेक्ट फाइलें) एक कारण है; एक और (जिसे मैंने सामना किया) रिलीज निर्माण में _DEBUG मैक्रो की झूठी परिभाषा है। _DEBUG एक मानक मैक्रो नहीं है, लेकिन माइक्रोसॉफ्ट द्वारा उपयोग किया जाता है।

Emacs में संपादन .vcxproj -file बाद मैं रिहाई के लिए _DEBUG बजाय NDEBUG गलत टाइप, और ठीक ही निर्माण त्रुटि आई।

+0

को परिभाषित करती है ...... :) – Sandip

13

कुछ मामलों में,

गुण में विकल्प मिश्रण> विन्यास गुण> C/C++> कोड जनरेशन> रनटाइम लाइब्रेरी

बीच शामिल लाइब्रेरी (एँ) और वर्तमान में कामकाजी परियोजना इस समस्या का कारण बन सकता है।

उपयोग के आधार पर इसे /MD या /MT या /MDd या /MTd सभी परियोजनाओं में समान रूप से सेट किया गया है।

+0

धन्यवाद, यह काम करता है। – lourencoccc

0

मुझे पता चला कि (विचित्र रूप से) कि _CRT_NON_CONFORMING_SWPRINTFS इसका कारण बनता है। जब मैं इसे हटा देता हूं, मुझे "_iterator_debug_level value '0' 'मान' 2 'से मेल नहीं खाता है, लेकिन इसके बजाय निम्न चेतावनी:

त्रुटि 6 त्रुटि C4996:' _swprintf ': swprintf को अनुरूप बनाने के लिए बदल दिया गया है आईएसओ सी मानक के साथ, एक अतिरिक्त चरित्र गणना पैरामीटर जोड़ना। पारंपरिक माइक्रोसॉफ्ट swprintf का उपयोग करने के लिए, _CRT_NON_CONFORMING_SWPRINTFS सेट करें।

0

मैं इस मुद्दे को पांच दिनों के लिए हल करने का प्रयास कर रहा हूं। प्वाइंट क्लाउड लाइब्रेरी (पीसीएल) कोड डीबग मोड में सफलतापूर्वक बनाता है लेकिन रिलीज मोड में विफल रहता है।

मैंने कई बार अपनी लाइब्रेरी को फिर से कॉन्फ़िगर किया है लेकिन इससे मदद नहीं मिली है। मुझे पता चला कि समस्या यह थी कि रिलीज संस्करण _DEBUG को विरासत में मिला था इसलिए मैंने इसे प्रोजेक्ट गुणों >> प्रीप्रोसेसर >> प्रोसेसर परिभाषाओं के तहत अनचेक किया और इसे हल किया गया।

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