2014-07-16 79 views
0

我目前正試圖獲得TMX-分析器迷上了我的比賽,並做相應的掛鉤到,我得到下面的連接錯誤後:LNK2038錯誤VC++ 2013

Error 1 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxml.obj)

Error 5 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxmlparser.obj)

Error 7 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxmlerror.obj)

Error 4 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxml.obj)

Error 6 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxmlparser.obj)

Error 8 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxmlerror.obj)

我已經做了一些搜索和無法弄清楚如何解決這些,如果任何人都可以給我一些幫助,將不勝感激。

回答

3

根據錯誤:
MDd_DynamicDebug - > MDD 多Theaded DLL調試
MD_DynamicDebug - > MD 多Theaded DLL版本

你的項目和庫與不同的配置編譯(某些類型在調試和發佈時有不同的內存佈局,用於調試檢查和其他技巧)。

其他問題是宏_ITERATOR_DEBUG_LEVEL在一個編譯的值是和在另一個爲(一個沒有在調試的調試檢查其他與,很可能釋放是不具有和調試是與檢查) 。這與前面的問題(在調試中用於檢查的成員類型)有關,試圖用作成員不存在的成員。

+0

是否需要在發佈模式下編譯.lib文件?這就是我完成我的'SDL.lib'的過程,我還沒有從中得到一個錯誤。 –

+0

有關該項目的更多信息將會有所幫助,例如項目和庫共享代碼,兩者的編譯設置。看起來你有相同的代碼在base64和tinyxmlerror編譯單元中編譯,並且鏈接器試圖匹配函數(一個在調試中,另一個在發佈配置中)。 – NetVipeC

+0

那麼關於它的事情是'tinyxml'是一個可廣泛使用的庫,我正在嘗試使用另一個文件 - TMXLoader.h和'.cpp',並且也使用'base64'。我現在試着做一個調試和釋放版本的'tinyxml',並且錯誤保持不變。 –