首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VS 2015 RC时出现链接器错误,找不到与std::codecvt相关的符号

使用VS 2015 RC时出现链接器错误,找不到与std::codecvt相关的符号
EN

Stack Overflow用户
提问于 2015-06-11 03:11:43
回答 1查看 2.5K关注 0票数 6

我在使用Microsoft Visual Studio Community 2015 RC (版本14.0.22823.1 D14REL)时遇到与STL相关的链接错误。

我链接了一个std DLL并成功地使用了C++中的许多函数,但它找不到与std::codecvt相关的东西:

代码语言:javascript
复制
error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class std::locale::id std::codecvt<char32_t,char,struct _Mbstatet>::id" (__imp_?id@?$codecvt@_UDU_Mbstatet@@@std@@2V0locale@2@A)

导致此问题的源代码参考:

代码语言:javascript
复制
std::wstring_convert< std::codecvt_utf8<char32_t>, char32_t > convert;

我的代码生成是针对多线程dll的,并且我已经通过详细链接验证了在链接时正在搜索MSVCPRT.lib。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-06 01:29:04

为了澄清问题和解决方案:微软承认std::codecvt不是基于Microsoft Visual Studio2015RC提供的标准库中的char32_t构建的。解决方法是使用unsigned int__int32类型:

代码语言:javascript
复制
    std::wstring_convert< std::codecvt_utf8<unsigned int>, unsigned int > convert;

代码语言:javascript
复制
    std::wstring_convert< std::codecvt_utf8<__int32>, __int32 > convert;

而不是

代码语言:javascript
复制
    std::wstring_convert< std::codecvt_utf8<char32_t>, char32_t > convert;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30765256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档