_ITERATOR_DEBUG_LEVEL

error:
vtkCommon.lib(vtkSmartPointerBase.obj) : error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項:值“0”不匹配值“2”(cloudviewer.obj 中)
1>vtkCommon.lib(vtkGarbageCollector.obj) : error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“0”不匹配值“2”(cloudviewer.obj 中)
1>vtkCommon.lib(vtkDebugLeaksManager.obj) : error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“0”不匹配值“2”(cloudviewer.obj 中)

錯誤原因是:Debug使用了Release的庫文件。
即使你連接庫裏面兩個都添加着呢,但是release庫文件放在了debug前面,也是出錯的。默認按順序使用庫文件。
類似錯誤:如release下使用了Debug的庫文件,報錯類似:
error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“2”不匹配值“0”.

解決方法還可以是:Project Pages / Configuration Properties / C,C++ / Preprocessor / Preprocessor Definitions.
Add "_ITERATOR_DEBUG_LEVEL=0" in there worked.
不過我之前只是知道解決方法(不太好),現在知道問題的原因啦,謝謝樓主。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章