【error】LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'


最近碰到幾次如下的問題:
Error 1 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bvpmeasure.obj
根源還是我使用靜態鏈接和Release版本編譯程序。以前總是很笨的使用Debug版,畢竟對於初學者方便調試;而現在是希望生成直接可以運行的exe。
其實對於Runtime Library 的幾種選擇:Multi-threaded (/MT) Multi-threaded Debug (/MTd) Multi-threaded DLL (/MD) Multi-threaded Debug DLL (/MDd)
在msdn中有解釋:http://msdn.microsoft.com/en-us/library/2kzt1wy3(VS.80).aspx
更容易碰到LIBCMTD.lib 之類的問題:如error LNK2005: already defined in LIBCMTD.lib(typinfo.obj)
而這個 value ‘0’、value '2' 還是容易解決,一般就是用Release模式去鏈接了一個Debug編譯出的lib,或者用Debug模式鏈接了Release編譯的lib。
要解決這個問題,只需要主程序和靜態庫都采用同一種Runtime Libray編譯即可。

 


免責聲明!

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



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