LNK2038:检测到' boost_log_abi':值' v2s_mt_nt5'没有匹配值' v2s_mt_nt6'

时间:2016-03-10 07:44:34

标签: c++ windows visual-studio boost compiler-errors

创建包含boost库的单独头文件后,我尝试包含在现有项目中。

但它显示以下错误:

 ::  Error  15  error LNK2038: mismatch detected for 'boost_log_abi':
 value 'v2s_mt_nt5' doesn't match value 'v2s_mt_nt6' in BoostLogger.obj 
 E:\Projects\native\dcnotificationserver\loggerutil.obj  ::

我知道以前的项目从Windows XP到当前Windows操作系统(即)10。

但我读到Windows XP提升支持。

有什么问题?

如何解决?

我认为由于Windows版本的问题?

如需了解更多信息,请询问我。

修改
我用的是:
编译器:msvc 10
提升版:1.60
Visual Studio 2010

3 个答案:

答案 0 :(得分:8)

将BOOST升级到1.60并将Visual Studio升级到2015后,我遇到了类似的问题。

我通过将预处理器中的_WIN32_WINNT定义更改/定义为0x601副0x501来解决它。

我很确定这意味着......支持Win7和更强大的副XP。

答案 1 :(得分:1)

据我所知,这个问题有两种解决方案。

1)使用提升1.58 而不是使用提升1.60
[注意:您不能使用最新功能。]

2)否则,您可以使用cmd提取boost 1.60中的文件:
b2 release define = BOOST_USE_WINAPI_VERSION = 0x0501

有关详细信息,请参见此处:
http://www.boost.org/users/history/version_1_60_0.html

答案 2 :(得分:1)

还有另一种解决方案,即改变旧版本。

您可以使用任何版本的boost库:

b2 link = static runtime-link = static --toolset = msvc-10.0 define = BOOST_USE_WINAPI_VERSION = 0x0500

当我使用MS Visual Stdio 2010时,它解决了我的问题。您也可以尝试使用它。