`
aigo
  • 浏览: 2674649 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]boost lib连接错误:LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL'

UE4 
阅读更多

 

UE4工程的debug模式链接boost的时候出现错误:

UE4  boost error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in 

 

以下是UE4源码的注释,意思是说UE4编译器在编译debug版本的时候仍然会链接release版本的第三方库,因为UE4的编译器不支持在调试debug版本的第三方库。

 

// By default we use the Release C++ Runtime (CRT), even when compiling Debug builds.  This is because the Debug C++

// Runtime isn't very useful when debugging Unreal Engine projects, and linking against the Debug CRT libraries forces

// our third party library dependencies to also be compiled using the Debug CRT (and often perform more slowly.)  Often

// it can be inconvenient to require a separate copy of the debug versions of third party static libraries simply

// so that you can debug your program's code.

bDebugBuildsActuallyUseDebugCRT = false;

内容转自:https://forums.unrealengine.com/showthread.php?63340-Building-engine-with-Debug-Runtime-library

 

解决办法:

最简单的方法就是在构建debug版本时候也去链接release版本的第三方库

 

网上另外一张方法:

MyProject.Build.cs文件的构造方法中添加配置:

BuildConfiguration.bDebugBuildsActuallyUseDebugCRT = true;

 这样貌似链接boost是可以了,但是又出现其他链接错误:

 error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (__imp_?_Debug_message@std@@YAXPEB_W0I@Z) referenced in function "int __cdecl std::_Atomic_compare_exchange_strong_4(unsigned long volatile *,unsigned long *,unsigned long,enum std::memory_order,enum std::memory_order)" (?_Atomic_compare_exchange_strong_4@std@@YAHPECKPEAKKW4memory_order@1@2@Z)

 

查了一下,论坛上说如果要使用CRT,需要使用源码编译的UE4,因为目前版本对VS2015支持还不完善,有时间了再尝试下。

详情见:https://answers.unrealengine.com/questions/294191/vs2015-linker-errors.html

 

 

分享到:
评论

相关推荐

    error LNK1104 无法打开文件opencv_core245d.lib

    在使用不同版本opencv时,编译器有时会报错,error LNK1104 无法打开文件opencv_core245d.lib,本文给出了详细的解决方法,实测有效

    无法解析的外部符号”private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAA

    1>save-image-D435.obj : error LNK2001: 无法解析的外部符号 “private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAAPEAD_K@Z) 1>save-image-D435.obj : error LNK2001: ...

    VS2005使用MYSQL++需要的mysqlpp.lib

    在IT行业中,数据库的连接和操作是至关重要的环节,尤其是对于开发者来说,能够灵活地在应用程序中集成数据库功能是必备技能之一。Visual Studio 2005(VS2005)是一个广受欢迎的开发环境,它支持多种编程语言,如...

    Vs2015ActiveMq测试工具.rar

    (1)Qt5AxContainer.lib error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“1”  Qt5AxBase.lib error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“1” ...

    VC++常见安装调试错误

    在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如error LNK2001错误, 典型的错误提示有: libcmtd.lib(crt0.obj) : error LNK2001: unresolved external ...

    From_LNK_to_RCE:Finding_bugs_in_Windows_Shell_Link_Parser.pdf

    《从LNK到RCE:探索Windows Shell链接解析器中的漏洞》 该文档详细阐述了在Windows操作系统中,如何从LNK(快捷方式)文件格式的深入研究中发现并利用安全漏洞,最终实现远程代码执行(RCE)。作者Lays是TeamT5团队...

    python38_d.lib

    解决fatal error LNK1104: cannot open file 'python38_d.lib'问题 由源码得到,版本python3.8,下载后放入到python目录下的libs文件夹即可

    uafxcwd.lib LIBCMTD.lib 弱外部链接

    uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj) uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl ...

    最新libcurl静态库

    如果出现以下错误: 1>libcurld.lib(openssl.obj) : error LNK2019: 无法解析的外部符号 _sk_num,该符号在函数 _cert_stuff 中被引用 ............... 则应添加对 ssleay32.lib 和 libeay32.lib 的引用

    VS2012中使用SQLite3出现中重定义解决办法

    1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义...

    解决error LNK2001: unresolved external symbol

    在OpenCV图像处理编程中,可能会遇到error LNK2001: unresolved external symbol的错误,这是因为缺少了cv.lib、cvaux.lib、cxcore.lib和highgui.lib库文件的原因。为了解决这个问题,我们需要在project-->settings-...

    C++调用C函数实例详解

    C++调用C函数实例详解 前言:以前见到extern “C”这样的语句,只是简单地知道跟外部链接有关...Test.obj : error LNK2019: 无法解析的外部符号 “void __cdecl DeleteStack(struct _Node *)” (?DeleteStack@@YAXPAU_N

    解决error LNK2001 无法解析的外部符号 int __cdecl sprintf(

    在编程过程中,我们时常会遇到编译错误,其中"error LNK2001 无法解析的外部符号"是一个常见的链接器错误。这个错误通常发生在C++编程中,特别是当你试图使用一个未定义的函数或者变量时。在这个特定的情况下,错误...

    WinCE_Driver1.rar_player

    调用directshow出现链接错误,如何解决? player.obj : error LNK2001: unresolved external symbol _IID_IVideoWindow player.obj : error LNK2001: unresolved external symbol _IID_IMediaControl 这是因为...

    EVC图形编程

    1文本的绘制 2绘制线条 3绘制矩形 4绘制圆和椭圆 5绘制圆角矩形 6绘制多边形 7动画效果 8抓屏实验

    关于VC6.0中 运行错误 unresolved external symbol _WinMain@16的解决

    解决 VC6.0 中运行错误 unresolved external symbol _WinMain@16 在使用 VC6.0 进行编程时,可能会遇到一个常见的错误:unresolved external symbol _WinMain@16。这是一个链接错误,出现这种错误的原因是因为 VC...

    [Linker Error] Unresolved external 问题的解决方法

    此错误表明编译器在编译完成后,在链接阶段无法找到`mysql_init`函数的定义,该函数是MySQL数据库连接初始化的一个重要接口。此外,还出现了关于`mysql_real_connect`的类似错误提示。 #### 错误分析 这类问题的...

    UAFXCWD.LIB和UAFXCWD.PDB库文件.rar

    3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj) Debug/DCap.exe : fatal error LNK1169: one or more multiply defined symbols found  解决思路: 出现这个错误明显就是两个被link到的library都提供了...

    LINK__fatal_error_LNK1123_转换到_COFF_期间失败_文件无效或损坏

    LINK__fatal_error_LNK1123_转换到_COFF_期间失败_文件无效或损坏,把老的版本盖就可以了

    解决报错LNK1158 cannot run 'rc.exe'

    "LNK1158 cannot run 'rc.exe'"是一个典型的错误,它通常发生在Windows平台上的开发环境中,比如Visual Studio或Qt Creator。这个错误是由于资源编译器`rc.exe`无法找到或者运行导致的,`rc.exe`是Microsoft Visual ...

Global site tag (gtag.js) - Google Analytics