error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“0”不匹配值“2


使用VS2013版本引用外部的lib進行編譯時候提示:

錯誤 25 error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項:  值“0”不匹配值“2”(jrtplibSend.obj 中) F:\jrtplibProjects\jrtplibSend\jrtplibSend\jrtplib.lib(rtpudpv6transmitter.obj) jrtplibSend

產生這個問題的原因是當前工程是Debug版本,而引用的庫文件時Release版本,只需要把當前的Debug模式改成Release模式就可以了,或者打開解決方案--》屬性--》鏈接器--》輸入--》附加依賴項中引用debug版本的lib文件名稱。


同樣,如果檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項: 值“2”不匹配值“0”

則說明是Release模式引用了Debug的庫文件。這類問題在引用文件時要注意版本的匹配

 

借用他人的情況分析我遇到error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項:  值“0”不匹配值“2” 錯誤的第二個原因

release下,在庫版本匹配沒有問題。但是編譯報錯error LNK2038: 檢測到“_ITERATOR_DEBUG_LEVEL”的不匹配項:  值“0”不匹配值“2”。

原因是:我release下,工程設置中運行庫中設置成了"多線程調試 DLL (/MDd)"。這個是設置應該是在debug下的設置,release下應該設置“多線程 DLL (/MD)”。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM