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」.
小問題花大時間!哎
值「2」不匹配值「0」.解決辦法:
詳細考證後,發現這一選項vs提供了設定。即只須要在預處理定義中設定其值符合要調用的程序設定便可。vs2010中,debug模式下默認值爲2,release的模式的默認值爲0 。其設定方法以下:spa
項目-〉屬性-〉配置屬性-〉C/C++ -〉預處理器-〉預處理定義 -〉添加「_ITERATOR_DEBUG_LEVEL=0」便可。debug