visual studio在链接期间找不到std:map

 开口就笑i 发布于 2023-02-11 15:07

在我的控制台应用程序中,我使用的是stl map.当我使用visual studio 2012进行编译时,我收到的错误是在编译期间找不到映射.

 Error  1   error LNK2001: unresolved external symbol "private: static class std::map,class std::allocator > > m_headerDataMap" (?m_headerDataMap@FileHeader@@0V?$map@HHU?$less@H@std@@V?$allocator@U?$pair@$$CBHH@std@@@2@@std@@A)  c:\Users\m\documents\visual studio 2012\Projects\FileReader\FileReader\FileReader.obj   FileReader

我应该为项目添加一个库吗?如果是的话,哪一个以及如何.

我将地图定义如下:

 static map m_headerDataMap;

doctorlove.. 7

如果你有像这样的代码

class MyClass
{
public:
    //...
private:
    static std::map data;
};

int main()
{
    MyClass m;
}

您最终会遇到类似的链接器错误:

错误LNK2001:未解析的外部符号"private:static class std :: map,class std :: allocator >> MyClass :: data"...

你需要在某个地方定义它.例如在cpp文件中

std::map MyClass::data;

在此查看上一个问题

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有