在我的控制台应用程序中,我使用的是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 mapm_headerDataMap;
doctorlove.. 7
如果你有像这样的代码
class MyClass { public: //... private: static std::mapdata; }; int main() { MyClass m; }
您最终会遇到类似的链接器错误:
错误LNK2001:未解析的外部符号"private:static class std :: map,class std :: allocator >> MyClass :: data"...
你需要在某个地方定义它.例如在cpp文件中
std::mapMyClass::data;
在此查看上一个问题