2013-04-11 70 views
1

我怎樣才能讓一個.cpp解決方案在Visual C++ 2012的Visual C++ 2010年工作發展,我得到以下每次我嘗試建立錯誤,如何在Visual C++ 2012中使用Visual C++ 2010開發解決方案?

1>DinaPhysics-vc10-md-32-d.lib(smPrinter.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smEventGeneratorTrait.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smIntegralType.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smTypes.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec3rBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec3r.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec2rBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec2r.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec3dBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec3d.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec4r.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVecTypes.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smMath.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smUtil.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec4rBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec2d.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec2dBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>DinaPhysics-vc10-md-32-d.lib(smVec4dBase.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in ShipDeckLandingExample.obj 
1>..\..\..\Bin\VC10-32\Debug\ShipDeckLandingExample-vc10-md-32-d.exe : fatal error LNK1319: 18 mismatches detected 

在此先感謝..

+1

刪除調試和發佈目錄 – 2013-04-11 12:07:12

回答

4

如果「 「重建解決方案」不能修復它,您可能會靜態鏈接到使用以前版本的Visual Studio創建的.lib,並使用標準模板庫。

報價from MSDN here

•爲了實現各種優化和調試檢查,C++標準庫實現有意打破的Visual Studio(2005年,2008年,2010年,2012)的版本之間的二進制兼容性。使用C++標準庫時,禁止將使用不同版本編譯的目標文件和靜態庫混合到一個二進制文件(EXE或DLL)中,並禁止在使用編譯的二進制文件之間傳遞C++標準庫對象不同的版本。通過使用Visual C++ 2010編譯的目標文件和靜態庫(使用C++標準庫)與使用Visual Studio 2012中的Visual C++編譯的目標文件和靜態庫的混合發出有關_MSC_VER不匹配的鏈接器錯誤,其中_MSC_VER是包含編譯器的主要版本(Visual Studio 2012中Visual C++的1700)。此檢查無法檢測到DLL混合,並且無法檢測到涉及Visual C++ 2008或更早版本的混合。

+0

我不能重建的解決方案,我得到的錯誤,那麼有沒有一種簡單的方法來解決這一問題?我不真的使用visual studio,所以連接和解決不匹配不是我的一杯茶:)。然而,我的項目要求我下載一個軟件,用於直升機控制,並且只能在VS 2010版本中使用,因此,創建一個新項目並複製粘貼源代碼可能根本無法使用,因爲它的許可證。因此,是否有可能將該項目轉換爲在VS 2012中工作? – Curious 2013-04-11 12:26:05

+1

如果你不能得到你需要的'lib'的VS2012版本,那麼我不知道解決這個問題。您將不得不使用VS2010,直到第三方開發人員提供兼容版本。或者,也許有人會很快反駁我;-) – 2013-04-11 12:46:17

相關問題