创建包含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
答案 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时,它解决了我的问题。您也可以尝试使用它。