1

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

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

4

3 回答 3

1

正确的包含应该如下所示:

#include <map>

map 的正确初始化应该是这样的:

std::map<int, char> mymap;
于 2012-08-30T16:57:48.447 回答
1

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

于 2012-08-30T17:14:34.413 回答
0

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

于 2012-08-30T17:04:10.030 回答