gpt4 book ai didi

c++ - visual studio 找不到 std :map during linkage

转载 作者:太空宇宙 更新时间:2023-11-04 15:04:24 24 4
gpt4 key购买 nike

在我的控制台应用程序中,我使用的是 STL map 。当我使用 visual studio 2012 编译它时,出现编译期间未找到 map 的错误。

 Error  1   error LNK2001: unresolved external symbol "private: static class std::map<int,int,struct std::less<int>,class std::allocator<struct std::pair<int const ,int> > > 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

我应该在项目中添加一个库吗?如果是,是哪一个以及如何。

我定义的 map 如下:

 static map<int, int> m_headerDataMap;

最佳答案

如果你有这样的代码

class MyClass
{
public:
//...
private:
static std::map<int, int> data;
};

int main()
{
MyClass m;
}

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

error LNK2001: unresolved external symbol "private: static class std::map,class std::allocator > > MyClass::data" ...

你需要在某处定义它。例如在 cpp 文件中

std::map<int, int> MyClass::data;

参见上一个问题 here

关于c++ - visual studio 找不到 std :map during linkage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520216/

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