2012-08-30 45 views
1

我想编译一个项目,但是当我包含一个地图对象时,它给了我一个LNK2001错误。我已经包含了正确的头文件,但我不知道我应该包含哪些库。什么库包含地图STL集合?

我正在使用Visual Studio 2008,当我将“忽略所有默认库”设置为“否”时,它将工作,但以这种方式设置的属性不是最终结果的允许选项。我认为会有某种全STL库,但我的代码中有矢量和出队,并且它们工作正常。只有当我在地图对象中添加错误时才会显示。

+1

“有这样的属性设置不是最终结果的允许选项”这似乎是一个问题,你应该修复。 –

+0

你能告诉我们展示这个问题的最小可编译代码示例,以及你得到的确切错误吗? – Bart

+0

我同意,但那不是我可以控制的。 : - TommiT的代码非常多,我还没有对地图做任何事情,只是试图宣布它造成麻烦。 –

回答

1

所以,一个朋友有类似的问题,我需要的库是msvcprt.lib。

1

正确包括应该看起来像:

#include <map> 

和MAP的正确初始化看起来应该是这样的:

std::map<int, char> mymap; 
+0

是啊,我已经得到了。没有工作。 –

0

这可能是在STL实现的优化 - 代码不依赖于任何模板参数被分解到基类中,所以在所有实例中只使用一个副本,并且此副本保存在C++标准库中,因此您将无法避免链接到此库。