您的位置:首页 > 产品设计 > UI/UE

error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800'解决方法

2017-08-19 16:15 1951 查看
今天编译一个pdf的播发器库出现了编译错误:

1>libmupdfreader_d.lib(TPDFReadEngine.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in mpdfplugin.obj

1>libmupdfreader_d.lib(TPDFReadEngine.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification

1>libmupdfreader_d.lib(TPDFReadEngineImp.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in mpdfplugin.obj

1>libmupdfreader_d.lib(TPDFPageImp.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in mpdfplugin.obj

1>libmupdfreader_d.lib(TBaseGeometryImp.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in mpdfplugin.obj

1>     Creating library ..\..\players\\PdfPlayerd.lib and object ..\..\players\\PdfPlayerd.exp

libmupdfreader_d.lib库是我要引用的第三方库,出现这个错误提示是 libmupdfreader_d.lib之前使用的是vs2010,而我现在用的编译器是Vs2013,

_MSC_VER 定义编译器的版本。下面是一些编译器版本的_MSC_VER值:

MS VC++ 10.0 _MSC_VER = 1600

MS VC++ 9.0 _MSC_VER = 1500

MS VC++ 8.0 _MSC_VER = 1400

MS VC++ 7.1 _MSC_VER = 1310

MS VC++ 7.0 _MSC_VER = 1300

MS VC++ 6.0 _MSC_VER = 1200

MS VC++ 5.0 _MSC_VER = 1100

其中MS VC++ 10.0就是Visual C++ 2010,MS VC++ 9.0就是Visual C++ 2008,MS VC++ 8.0就是Visual C++ 2005。

VS2013   _MSC_VER = 1800

方法:

使用vs2010 重新打开项目,在项目右键属性-配置属性-常规中,平台工具集选用为合适平台即可,我这里就选择从父类继承方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vs编译错误 LNK2038
相关文章推荐