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'
创建由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
相关文章:
- 为什么在Visual Studio的OpenCV项目中使用/MT时仍然需要dll?
- MSVCP140.dll尽管设置了 /MT 运行时库
- 致命错误LNK1104:无法打开文件"libboost_log-vc141-mt-gd-1_64.lib"
- 当使用 /ENTRY:main 和 /MT 运行时库编译为 /SUBSYSTEM:WINDOWS 时,应用程序崩溃
- assimp-vc140-mt.dll ASSIMP was not found
- 提升序列化和 MFC:"cannot open file 'libboost_serialization-vc141-mt-s-x32-1_69.lib' "
- 如何使用BOOST_THREAD_WIN32-MT-S(与mingw交叉键)来构建Boost
- 链接错误libboost_filesystem-vc140-mt-1_61.lib,但我有boost_filesyste
- CMake compile -s -mt version of rabbitmq-c
- Boost.Python 和错误LNK1104:无法打开文件'boost_python-vc100-mt-gd-1_55.lib'
- 致命错误LNK1104:无法打开文件'libboost_system-vc110-mt-gd-1_51.lib'
- "Cannot find -lallegro-5.0.4-monolith-mt" 使用快板的开发C++错误
- 在 /MD 和 /MT 运行时库之间进行封送
- MongoDB CPP 驱动程序(Ubuntu Server x64)中缺少 lboost_thread-MT
- 使用/MT或/MD在Visual Studio 10中构建dll
- QuantLib 1.5 编译错误无法打开文件'QuantLib-vc100-x64-mt.lib'
- 运行时错误"boost_log-vc100-mt-1_49.dll"
- 编译cryptopp时MT/MD不匹配,尽管没有库依赖项
- 无法打开文件 libboost_thread_vc-100-mt-gd-1_48.lib
- "/MD /MT"和"dll lib"之间的概念歧义