我剛剛通過Visual Studio(C++)解決方案移到另一臺計算機上,設置了所有目錄和設置,據我所知,並做了一個清理/重建解決方案。我在編譯一堆.obj文件時遇到了上述錯誤,不知道該怎麼辦。_iterator_debug_level值'0'與值'2'不匹配
回答
看來你是混合使用不同設置構建的對象文件。嘗試做一個完整的乾淨的重建,並檢查所有的項目文件設置,以確保_ITERATOR_DEBUG_LEVEL宏是相同的(例如,你不混合調試和釋放構建的對象)。
混合二進制文件(目標文件)是一個原因;另一個(我遇到的)是發佈版本中_DEBUG
宏的錯誤定義。 _DEBUG
不是標準宏,而是由Microsoft使用。
在Emacs編輯.vcxproj -file後,我輸錯_DEBUG
,而不是NDEBUG
的釋放,遇到完全相同的生成錯誤。
爆炸...... :) – Sandip 2015-04-20 06:59:55
在某些情況下,混合的選項中
屬性>配置屬性> C/C++>代碼生成>運行 庫
之間包含庫(IES)和目前工作項目 可能會導致此問題。
根據使用情況,在所有項目中統一設置爲/MD
或/MT
或/MDd
或/MTd
。
謝謝,它的工作。 – lourencoccc 2016-03-10 19:58:50
我發現(奇怪)_CRT_NON_CONFORMING_SWPRINTFS導致它。當我刪除它時,我沒有看到「_iterator_debug_level值'0'與值'2'不匹配,而是出現以下警告:
錯誤6錯誤C4996:'_swprintf':swprintf已更改爲符合與ISO C標準一起,添加一個額外的字符計數參數。要使用傳統的Microsoft swprintf,請設置_CRT_NON_CONFORMING_SWPRINTFS。
我一直在試圖解決這個問題五天。點雲庫(PCL)代碼在調試模式下成功建立,但在發佈模式下失敗。
我重新配置了我的庫幾次,但它沒有幫助。我發現問題是發佈版本繼承_DEBUG,所以我沒有在項目屬性>>預處理器>>處理器定義下選中它,並且它已經解決了。
- 1. QT Creator _ITERATOR_DEBUG_LEVEL不匹配
- 2. 不匹配:「1」值不匹配值「0」 MSVCRTD.LIB
- 3. 某些`BigDecimal`值與`Float`不匹配
- 4. 列計數與值計數不匹配
- 5. CRC32計算與默認值不匹配
- 6. 匹配值與列表
- 7. [R匹配值與變量
- 8. SQL全文匹配值只返回布爾值(1或0),匹配的項目
- 9. 數值與多個值匹配r中
- 10. 正則表達式匹配幣值(帶小數點2位),但不爲0
- 11. 索引0值匹配的總和列表值?
- 12. SQL比較不匹配值
- 13. 摘要值不匹配
- 14. 顯示不匹配的值
- 15. 類型/值不匹配
- 16. 事件文本框的值不與任何值匹配在AutoCompleteDataSource
- 17. 總計值與前N個SSRS中的篩選值不匹配
- 18. php索引值與sql數據庫值匹配不起作用
- 19. php輸出值與調試器值不匹配
- 20. C#中的Int值與SQL count()值不匹配
- 21. 自己計算的RGB值與實際的RGB值不匹配
- 22. 函數的輸出值與循環中的printf值不匹配
- 23. SSRS URL參數值與報告參數不匹配值
- 24. 匹配值
- 25. 匹配值
- 26. 匹配值
- 27. 代碼Colum 1與列2的匹配值
- 28. Hibernate通過匹配值與2個concat字段獲取記錄
- 29. GC能力不匹配0?
- 30. VBA從2個工作簿中獲取值匹配的值?
由於某種原因,我的一個項目在釋放模式下定義了_SECURE_SCL = 1,這導致鏈接器錯誤。 – Gyuri 2012-03-10 05:29:06
另一種可能性是一些項目/源文件定義_HAS_ITERATOR_DEBUGGING – korbes 2016-12-02 18:54:12