gpt4 book ai didi

c++ - LNK2019 : Undefined external symbol _Getgloballocale, Visual Studio 2013

转载 作者:行者123 更新时间:2023-11-30 05:42:29 28 4
gpt4 key购买 nike

我在 Visual Studio 2013 解决方案的一个项目中出现以下链接器错误:

error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (__imp_?_Getgloballocale@locale@std@@SAPEAV_Locimp@12@XZ) referenced in function "class std::ctype<char> const & __cdecl std::use_facet<class std::ctype<char> >(class std::locale const &)" (??$use_facet@V?$ctype@D@std@@@std@@YAAEBV?$ctype@D@0@AEBVlocale@0@@Z)

在所有项目中,我都动态链接了运行时库 (/MD)。

我考虑了以下帖子中的提示:

但未能解决此问题。

实际上,我什至不知道在项目中的什么地方使用了_Getgloballocale。也许了解 _Getgloballocale 所在的库也会有所帮助。

项目使用以下库:

  • curl
  • Protocol Buffer
  • libboost_thread-vc120-mt-1_56.lib
  • libboost_system-vc120-mt-1_56.lib
  • libboost_python-vc120-mt-1_56.lib
  • libboost_filesystem-vc120-mt-1_56.lib

最佳答案

In all projects I linked the run-time library dynamically (/MD).

正如其他人指出的那样,验证这一点可能不像看起来那么明显。其一,您的某些库可能会拖入外部依赖项,而这些依赖项确实依赖于不匹配的运行时。

建议您使用/VERBOSE 链接(在您的 EXE 项目中,properties/linker/general/show progress),并在输出转储中搜索 MSVCR。您可能会遇到不同的版本 (msvcr100.lib) 或不同的配置 (msvcr120d.lib)。还尝试搜索 LIBCMT - 这是用于运行时的静态 链接的库。这些通常作为/DEFAULTLIB 链接器指令的一部分出现,您应该能够从转储中了解该指令存在于哪个库上下文中。

您也可以在此处发布详细输出(或相关片段),我们可以尝试帮助解释它。

关于c++ - LNK2019 : Undefined external symbol _Getgloballocale, Visual Studio 2013,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623513/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com