त्रुटि LNK2038: '_ITERATOR_DEBUG_LEVEL' के लिए खोजा गया बेमेल: मान '0' main.obj में '2' से मेल नहीं खाता


131

मैंने अपनी समस्या के बहुत सारे समाधान पढ़े हैं लेकिन किसी ने मदद नहीं की। मैंने साफ-सुथरी कोशिश की, पुनर्निर्माण किया। दृश्य 2010 को पुनर्स्थापित किया गया और पेशेवर से अंतिम में बदल गया। लेकिन फिर भी मुझे नहीं पता कि मेरे पास यह त्रुटि क्यों है। मेरी परियोजना इस तरह दिखती है: 1 स्थिर समाधान मेरे स्थिर पुस्तकालय का परीक्षण करने के लिए। 1 Dll समाधान स्थिर पुस्तकालय। कोड जिसे dll में परिवर्तित किया जाता है वह ClassificationFramework नामक 1 लीब से फ़ंक्शन का उपयोग कर रहा है। मैंने इस लिब को हेडर और सीपीपी के रूप में मूल रूप से स्रोत कोड प्रदान किया है। Exe समाधान में मैंने इसे + ClassificationFramework.dll चलाने के लिए अपनी जेनरेट की गई लाइब्रेरी + कुछ अन्य लिबास से जोड़ा। जब मैं रिलीज़ का उपयोग करता हूं, तो सब कुछ ठीक रहता है, लेकिन जब मैं डीबग में परिवर्तित होता हूं (क्योंकि मैं कुछ सामान को डिबग करना चाहता हूं, तो मैं डिबगर को रिलीज मोड में छोड़ देता हूं) मुझे यह मिलता है:

    2>Link:
    2>  ClassificationFramework.lib(SampleClass.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
    2>ClassificationFramework.lib(SampleClass.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
    2>ClassificationFramework.lib(SampleNamesSet.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
    2>ClassificationFramework.lib(SampleSet.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
    2>ClassificationFramework.lib(DirectoryReader.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
    2>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
    2>C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Debug\Tester.exe : fatal error LNK1319: 4 mismatches detected

जब मैंने रिलीज में निर्माण किया तो मुझे भी ये चेतावनी मिली:

    1>Link:
    1>  Generating code
    1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(101): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because ptimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\directoryreader.cpp(30): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(1589): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\samplenamesset.cpp(226): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\directoryreader.cpp(60): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\samplenamesset.cpp(199): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\sampleset.cpp(27): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>c:\users\kasia\documents\visual studio 2010\projects\classificationframework\classificationframework\samplenamesset.cpp(59): warning C4748: /GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function
    1>  Finished generating code
    1>ClassificationFramework.lib(SampleSet.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'ClassificationFramework.lib(SampleSet.obj)' or at 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Release\vc100.pdb'; linking object as if no debug info
    1>ClassificationFramework.lib(SampleNamesSet.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'ClassificationFramework.lib(SampleNamesSet.obj)' or at 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Release\vc100.pdb'; linking object as if no debug info
    1>ClassificationFramework.lib(SampleClass.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'ClassificationFramework.lib(SampleClass.obj)' or at 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Release\vc100.pdb'; linking object as if no debug info
    1>ClassificationFramework.lib(DirectoryReader.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'ClassificationFramework.lib(DirectoryReader.obj)' or at 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Release\vc100.pdb'; linking object as if no debug info
    1>  Tester.vcxproj -> C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Transformer\Release\Tester.exe

मैंने पाया कि pdb फ़ाइलों के गलत रास्ते के कारण डीबगर को छोड़ दिया जाता है।

'Tester.exe': Loaded 'C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Work\Release\Tester.exe', Symbols loaded.
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'Tester.exe': Unloaded 'C:\WINDOWS\SysWOW64\kernel32.dll'
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\OpenCV2.2\bin\opencv_core220.dll', Binary was not built with debug information.
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\msvcp100.dll', Symbols loaded.
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\msvcr100.dll', Symbols loaded.
'Tester.exe': Loaded 'C:\OpenCV2.2\bin\opencv_highgui220.dll', Binary was not built with debug information.
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\user32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\secur32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\ole32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.3790.4770_x-ww_A689AB02\comctl32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\avifil32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\winmm.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\msacm32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\msvfw32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\shell32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\avicap32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\version.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\OpenCV2.2\bin\opencv_imgproc220.dll', Binary was not built with debug information.
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\imm32.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\lpk.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\SysWOW64\usp10.dll', Cannot find or open the PDB file
'Tester.exe': Loaded 'C:\WINDOWS\WinSxS\wow64_Microsoft.Windows.Common-        Controls_6595b64144ccf1df_6.0.3790.4770_x-ww_8D2E3180\comctl32.dll', Cannot find or open the PDB file
The program '[4984] Tester.exe: Native' has exited with code 0 (0x0).

जब मैं डीबग-> विंडोज-> मॉड्यूल पर जाता हूं तो देखता हूं कि वह उन पीडीबी फाइलों या कुछ और को नहीं ढूंढ सकता। मैं उसे कैसे कह सकता हूं कि वे फाइलें यहां और यहां हैं? मैंने प्रशासक के रूप में MSvisual को चलाने की कोशिश की, लेकिन वह भी मदद नहीं की। मैंने pdb फ़ाइलों को लोड करने के लिए Microsoft सर्वर का उपयोग किया, लेकिन साथ ही साथ सहायता भी नहीं की।

जवाबों:


148

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

खोजें _ITERATOR_DEBUG_LEVELऔर _SECURE_SCLउन्हें हटा दें या उन्हें सभी परियोजनाओं और स्रोतों में उचित रूप से सेट करें और सब कुछ पुनर्निर्माण करें।

_ITERATOR_DEBUG_LEVEL = 0 // disabled (for release builds)
_ITERATOR_DEBUG_LEVEL = 1 // enabled (if _SECURE_SCL is defined)
_ITERATOR_DEBUG_LEVEL = 2 // enabled (for debug builds)

संक्षेप में आप संभवतः रिलीज़ और डीबग dlls को मिला रहे हैं। डीबग या इसके विपरीत में रिलीज़ dlls लिंक न करें!


6
मैं किसी भी .h या .cpp फ़ाइल में से किसी को भी नहीं देखता। _ITERATOR_DEBUG_LEVEL या _SECURE_SCL वे केवल obj फ़ाइलों में मौजूद हैं: / FAILIFMISMATCH: "_ ITERER_DEBUG_LEVEL = 0" किस बारे में
Qbunia

रिलीज में डिबगर द्वारा ब्रेकपॉइंट को छोड़ देने के बारे में क्या? कुछ ब्रेकपॉइंट्स भरे नहीं हैं और कहते हैं कि डिबगर
इष्टतम होने

42
"संक्षेप में आप संभवतः रिलीज़ और डिबग डीएलएस को मिला रहे हैं" मुझे मदद मिली। धन्यवाद!
अधिकतम

2
वैवैवैत! आप मुझे यह बताने का मतलब है कि जब मैं MSVC का उपयोग कर रहा हूं, तो डिबग का निर्माण करने के लिए मुझे सभी निर्भरताओं को फिर से स्थापित करना होगा? यहां तक ​​कि जिन्हें मैं डिबग करने की परवाह नहीं करता हूं? क्या बकवास आदमी है! मैं इस पर विश्वास नहीं कर सकता!
माइकल

1
"संक्षेप में आप संभवतः रिलीज़ और डीबग dlls को मिला रहे हैं" -> मेरे मामले में RuntimeLibrary रिलीज़ बिल्ड में MultiThreadedDebugDLL था जब इसे MultiThreadedDLL होना चाहिए था।
कैप्टन नॉर्मल

108

मैं इस मुद्दे पर थोड़ा अपडेट करता हूं, क्योंकि मेरे पास एक आवेदन पर आज भी वही त्रुटि थी, जो एक स्थिर lib के खिलाफ लिंक कर रहा है, जब मैंने Visual Studio 2012 के लिए पुराने Visual 6 प्रोजेक्ट को माइग्रेट किया था।

मेरे मामले में त्रुटि यह थी कि मैंने गलती से / MD के बजाय / MDd के साथ स्थिर परिवाद के रिलीज संस्करण को संकलित कर लिया था , जबकि आवेदन रिलीज में / MD है। सही / एमडी स्थिर स्टेटिक प्रोजेक्ट में सेट करने से समस्या हल हो गई।

यह प्रोजेक्ट प्रॉपर्टीज में किया जाता है

  • का चयन विन्यास गुण / सी सी ++ / कोड जनरेशन पेड़ में
  • और विकल्प रनटाइम लाइब्रेरी आपके सभी निर्भरता परियोजनाओं और आवेदन पर समान है।

21

यदि आप डीबग में किसी अन्य प्रोजेक्ट B के विरुद्ध रिलीज़ में अपने प्रोजेक्ट A को जानबूझकर लिंक करना चाहते हैं, तो डीबग करते समय अपने एप्लिकेशन के समग्र प्रदर्शन लाभों को रखने के लिए कहें, तो आप संभवतः इस त्रुटि को मारेंगे। आप इसे इटैलिक डिबगिंग को अक्षम करने के लिए प्रोजेक्ट B के प्रीप्रोसेसर झंडे को अस्थायी रूप से संशोधित करके (और इसे मैच ए) बना सकते हैं:

प्रोजेक्ट बी के "डिबग" गुणों में, कॉन्फ़िगरेशन गुण -> C / C ++ -> प्रीप्रोसेसर, निम्नलिखित को प्रीप्रोसेसर परिभाषाओं में जोड़ें:

_HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0;

डीबग में प्रोजेक्ट B का पुनर्निर्माण करें, फिर प्रोजेक्ट A को रिलीज़ में बनाएँ और इसे सही तरीके से लिंक करना चाहिए।


11

मेरे पास परियोजनाओं के बीच एक बेमेल था: एक बहु-बाइट चरित्र सेट के साथ, दूसरा यूनिकोड के साथ। यूनिकोड पर सहमति देने के लिए इन्हें सही करने से समस्या ठीक हो गई।


2
यह पता चला है कि जिस प्रोजेक्ट को मैं बनाने की कोशिश कर रहा था, उसमें यह मुद्दा था और साथ ही डिबग में एक अप्रत्याशित लापता प्रीप्रोसेसर भी था: _DEBUG। फ़ोरम
JGeerWM

मुझे मतलाब में एक समान समस्या थी, लेकिन दूसरा रास्ता: मुझे समझौते को पाने के लिए VS2013 बिल्ड को मल्टी-बाइट में बदलने की आवश्यकता थी। इसने रंटाइम लाइब्ररी के लिए एक बेमेल समाधान भी किया।
barnhillec

10

त्रुटि डिबग बिल्ड और रिलीज़ बिल्ड को एक ही निष्पादन योग्य या dll में एक साथ मिलाने के कारण हो सकती है।

  1. बनाम कॉन्फ़िगरेशन प्रबंधक में, आपके कुछ प्रोजेक्ट डिबग मोड में हैं और कुछ रिलीज़ मोड में हैं?
  2. क्या आपकी रिलीज़ परियोजनाओं में से एक प्रीप्रोसेसर प्रतीक DEBUG या _DEBUG परिभाषित है?
  3. क्या आपके डिबग प्रोजेक्ट में से एक में पूर्वप्रक्रमक चिह्न NDEBUG परिभाषित है?

7

मुझे भी यह समस्या थी।

मेरी समस्या यह थी कि मैंने लाइब्रेरी को कॉपी / पेस्ट किया था जिसमें मेरे डिबग कॉन्फ़िगरेशन से निर्देशिकाएं शामिल हैं।

तो प्रोजेक्ट "इंडेप" को स्थिर लाइब्रेरी "Dep.lib" से "../Debug", यहां तक ​​कि रिलीज़ में भी शामिल किया गया था। लाइब्रेरी डायरेक्टरी को "../Release" में बदलना तय था, इसलिए मैंने पहले से निर्मित निर्मित लाइब्रेरी के बजाय रिलीज़-निर्मित लाइब्रेरी को पकड़ लिया।


इसी तरह की समस्या थी, जहाँ मेरा स्थिर परिवाद उसी जगह पर उतरा, चाहे वह रिलीज़ हो या डिबग। उस स्थिति में किसी को 'डी' या इस तरह के नाम देकर उन्हें अलग नाम देना चाहिए। अन्यथा आप भी डिबग / रिलीज़ के बीच स्विच करने के लिए हर बार काम करने के लिए बाध्य होंगे।
17

4

मेरे पास डिबग और रिलीज़ लाइब्रेरी के बीच एक ही मुद्दा था। गलती समाधान गुण / विन्यास गुण / विन्यास में थी।

प्रोजेक्ट कॉन्फ़िगरेशन मुख्य कॉन्फ़िगरेशन / प्लेटफ़ॉर्म से मेल नहीं खाते।


3

C ++ प्रोजेक्ट गुण (रिलीज़ कॉन्फ़िगरेशन के लिए) कॉन्फ़िगरेशन गुण -> C / C ++ -> Preprocessor -> Preprocessor परिभाषा में NDEBUG मैक्रो परिभाषा में _DEBUG को बदलने का प्रयास करें।


3

अंतिम मौका (यदि अन्य तरीके काम नहीं करते हैं): सभी परियोजनाओं में _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH मैक्रो को परिभाषित करें। यह "#pragma detect_mismatch" सुविधा को अक्षम कर देगा जिसका उपयोग CRT हेडर में किया जाता है।


मैंने इस पृष्ठ पर हर चीज की बहुत कोशिश की, और यह एकमात्र ऐसी चीज थी जिसने काम किया। जोड़े _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCHके तहत C/C++ >> Preprocessor >> PreprocessorDefinitions
कंटैंगो

2

opencv_core245.lib (dxt.obj): त्रुटि LNK2038: '_ITERATOR_DEBUG_LEVEL' के लिए पता लगाया गया बेमेल: मान '0' परीक्षण मान में '2' से मेल नहीं खाता है। मुझे इस तरह से त्रुटि मिली है।
मेरे पास opencv_core245.lib और Linker-> इनपुट-> अतिरिक्त निर्भरता में opencv_core245d.lib है। चूँकि यह दोनों गोपनीय थे इसलिए मैंने पहले एक opencv_core245.lib हटा दिया। त्रुटि हो गई।


2

इसे आज़माएं: गोटो प्रोजेक्ट प्रॉपर्टी -> C / C ++ -> कोड जेनरेशन -> रनटाइम लाइब्रेरी कॉम्बोबॉक्स वैल्यू से चुनें: मल्टी-थ्रेडेड DLL (/ MD) यह मेरे लिए काम करता है :)


2

मेरे मामले में, डीबग और रिलीज़ दोनों के लिए, समाधान को साफ करना था और फिर संपूर्ण समाधान का पुनर्निर्माण करना था।

संपादित करें: मेरे मामले में भी सच है (VS2017) चरण 1: परियोजना को साफ करें। चरण 2: कॉन्फ़िगरेशन मोड बदलें (डिबग से रिलीज़ या इसके विपरीत)। चरण 3: परियोजना को साफ करें। चरण 4: आवश्यक कॉन्फ़िगरेशन मोड में निर्माण करें।

PS: कॉन्फिग मोड को बदलने के लिए, बिल्ड मेनू के तहत कॉन्फिगर सेटिंग्स खोजें


1

मुझे आज (VS2010) एक ही समस्या थी, मैंने रिलीज़ का निर्माण किया | Win32, तो डिबग बनाने की कोशिश की | Win32, और यह संदेश मिला।

मैंने डिबग की सफाई की कोशिश की Win32 लेकिन त्रुटि अभी भी बनी हुई है। मैंने तब सफाई जारी की | Win32, तो डीबग साफ | Win32, और फिर यह ठीक बनाया।


1

मैं प्रोजेक्ट गुण -> लिंकर -> इनपुट -> अतिरिक्त निर्भरता (VC10) में निर्भरता लाइब्रेरी को बदलकर (Ogre3D + Bullet का उपयोग करके अपने मामले में) इस त्रुटि से छुटकारा पाने में कामयाब रहा।

मैंने BulletCollision.lib को BulletCollision_debug.lib में बदल दिया (डिबग कॉन्फ़िगरेशन के लिए) और इसे संकलित किया।


1

मैंने "अतिरिक्त लाइब्रेरी निर्देशिका" को सही करने में अपनी समस्या का समाधान किया, यह "$ (सॉल्यूशनडायर) \ रिलीज़" को इंगित करने में गलत था, मैंने इसे "$ (सॉल्यूडिर) \ $ (इंट्रिड)" में बदल दिया

इसे ठीक करने के लिए, अपने प्रोजेक्ट गुण -> कॉन्फ़िगरेशन गुण -> लिंकर -> सामान्य -> ​​अतिरिक्त लाइब्रेरी निर्देशिका खोलें

मुझे आशा है कि यह कुछ मुहासों के साथ एक ही परेशानी में मदद करेगा;)


इसलिए मेरे लिए डीबग ठीक काम करता है, लेकिन जब रिलीज में निर्माण होता है, तो मुझे उपरोक्त त्रुटि मिलती है .... मैंने अतिरिक्त लाइब्रेरी निर्देशिका खोली जो मुझे मिली: C: / Program Files / PCL 1.8.1 / lib / $ (विन्यास) मुझे अब क्या जोड़ना चाहिए यहाँ?
sqp_125

0

मेरे पास यह मुद्दा भी था और यह तब उत्पन्न हुआ क्योंकि मैंने परियोजना को फिर से बनाया और फिर एक आश्रित परियोजना में संदर्भ द्वारा इसे फिर से जोड़ना भूल गया।

इस प्रकार यह नए के बजाय पुराने प्रोजेक्ट के संदर्भ से जोड़ रहा था।

यह जानना महत्वपूर्ण है कि संदर्भ से पहले से जुड़ी परियोजना को फिर से जोड़ने में एक बग है। आपको vcxproj में संदर्भ को मैन्युअल रूप से हटाने के लिए मिला है और उसके बाद ही आप इसे फिर से जोड़ सकते हैं। यह msdn के अनुसार विज़ुअल स्टूडियो में एक ज्ञात मुद्दा है।


0

मेरे पास भी ऐसी ही समस्या थी, लेकिन गलत सेटिंग बाहरी फ़ाइल में थी। लिब फ़ाइल जिसमें मेरे पास स्रोत नहीं थे। यदि आपके पास स्रोत फ़ाइलें नहीं हैं , तो सबसे सरल समाधान केवल .lib फ़ाइल की सामग्री को बदलना है।

एक संपादक में .lib फ़ाइल खोलें (मैंने PSPad का उपयोग किया, कली विंडोज नोटपैड भी संभव है) और सभी घटनाओं को प्रतिस्थापित करें _ITERATOR_DEBUG_LEVEL = 2 के को _ITERATOR_DEBUG_LEVEL = 0 पर


0

मेरे मामले में "प्रीप्रोसेसर परिभाषाओं" में NDEBUG मैक्रो परिभाषा को _DEBUG में बदलने की आवश्यकता है। मैं .exe में उपयोग के लिए एक स्थैतिक पुस्तकालय का निर्माण कर रहा हूं जो प्रश्न में सूचीबद्ध एक ही त्रुटि के बारे में शिकायत कर रहा था। कॉन्फ़िगरेशन गुण ("प्रोजेक्ट" मेनू, "गुण" मेनू आइटम) पर जाएं और फिर C / C ++, अनुभाग, उसके बाद प्रीप्रोसेसर अनुभाग पर क्लिक करें और फिर अपनी Preprocessor परिभाषाओं को संपादित करें ताकि NDEBUG को _DEBUG में बदल दिया जाए (मिलान करने के लिए) exe में सेटिंग)।


0

अन्य सभी उत्तरों की तरह, मैंने अपने Configuration Properties -> C/C++ -> Preprocessorनिर्देशों की जाँच की ।
मेरे मामले में मुझे NDEBUGरिलीज़ में सही ढंग से परिभाषित किया गया था, लेकिन मेरे पास भी था _SECURE_SCL=1:।

उस एक को हटाकर मुद्दे को तय किया।


-1

ऊपर दी गई सहायता के लिए छोटा जोड़: मुझे VST 2017 का उपयोग करके पुराने VST समाधान में स्थिर कामेच्छा जोड़ने के बाद बेमेल त्रुटि मिली। VST अब इन 2 पंक्तियों वाले precompiled हेडर के लिए "stdfax.h" उत्पन्न करता है:

// Turn off iterator debugging as it makes the compiler very slow on large methods in debug builds
#define _HAS_ITERATOR_DEBUGGING 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.