LNK2038:检测到"boost_log_abi"不匹配:值'v2s_mt_nt5'与值"v2s_mt_nt6"不匹配

LNK2038: mismatch detected for 'boost_log_abi': value 'v2s_mt_nt5' doesn't match value 'v2s_mt_nt6'

本文关键字:mt v2s 不匹配 nt5 与值 nt6 检测 LNK2038 log boost abi      更新时间:2023-10-16

创建由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:Projectsnativedcnotificationserverloggerutil.obj  ::

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

但我读到Windows XP的提升支持。

问题出在哪里?

如何解决?

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

欲了解更多信息,请问我。

编辑:
我正在使用:
编译器: msvc 10
加速版本:1.60
Visual Studio 2010

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

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

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

还有另一种解决方案,无需更改为旧版本。

您可以使用任何构建的提升库:

B2 链接=静态运行时链接=静态 --工具集=msvc-10.0 定义=BOOST_USE_WINAPI_VERSION=0x0500

它解决了我使用MS Visual Stdio 2010时的问题。你也可以试试这个。

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

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

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

详情请看这里:
http://www.boost.org/users/history/version_1_60_0.html