2013-04-11 69 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

相关问题