天天看點

error LNK2005: XXX已經定義 解決辦法

msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) 已經在 libcpmtd.lib(xmutex.obj) 中定義

好幾百條

網上說

解決辦法:保證需要連結的幾個項目的運作時庫使用同一個類型就OK了!例如我的工程中有GameCore、Plugin_D3D9RenderSystem、Plugin_Win32Platform三個工程,那麼就去設定每個工程的C/C++ ->代碼生成->運作時庫,統一設定成“多線程 DLL(/MD)”,就可以了。如果其中一個不是MD,就會出現以下的錯誤。很煩人。

繼續閱讀