Chinaunix首页 | 论坛 | 博客
  • 博客访问: 973294
  • 博文数量: 120
  • 博客积分: 6454
  • 博客等级: 准将
  • 技术积分: 1739
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-28 17:45
文章分类

全部博文(120)

文章存档

2014年(1)

2013年(1)

2012年(11)

2011年(16)

2010年(6)

2009年(11)

2008年(30)

2007年(44)

分类: C/C++

2007-11-11 20:07:57

     因为hash_map以前不属于标准库,而是后来引入的。所以在windows下需要使用stlport,然后在setting中加入Additional library path。
     在linux下使用gcc的时候,引入,使用的时候也说找不到hash_map,而这种后来引入标准库的有两种可能:
     一种是它被放在了stdext名空间里,那么就要使用using namespace stdext引入该名空间并#include ;
     另一种可能就是它被放在标准库的ext目录底下,这时就仍旧需要使用属于std名空间,这时你的源文件应当#include ;
     如果不知道是哪一种,就需要自己查一下,切换到c++库目录下:

cd /usr/include/c++/4.*.*

    然后使用grep命令:

grep -iR "hash_map" ./

    查看hash_map在哪个头文件中。

    找到后进去看一下就知道它到底被包含在哪个命名空间中了。

阅读(5246) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

asio2009-08-11 09:35:19

特别感谢了,原来如此,居然没想到