在VS 2012(C++)中编译Visual Studio 2010项目:错误LNK2038:检测到"_MSC_VER"不匹配:值"1600"与值"1700"不匹配

Ool*_*ong 3 visual-studio-2010 visual-c++ visual-studio-2012

我已经发送了一个新创建的SDK的示例应用程序,我无法编译它 - 由于ATL的原因,它根本无法在Visual Studio Express中编译,而这似乎是VS 2010的唯一版本微软仍然提供.所以我试图在VS 2012 Professional中编译它,但它给了我错误LNK2038.从我可以收集的内容,例如从这个线程,问题是尝试在2012版本中使用为2010编译的.lib文件.因为我不是那个编译.lib的人,而我没有代码,而且VS 2010无法访问,所以我真的不知道该怎么办,除非原作者重新编译它.有什么建议?我缺少一些基本的东西?非常感谢任何帮助.

Sam*_*ell 5

库文件不能在不同版本的编译器中重用.您需要执行以下操作之一:

  1. 使用与创建库文件相同的编译器版本编译项目.
  2. 从代码所有者获取新的库文件,使用您现在使用的相同编译器进行编译.
  3. 获取库的源代码,并自己编译它们的新版本.
  4. 重写您拥有的代码不依赖于您无法控制的库,因为您的构建环境不允许使用它们.