新人请教LINUX下使用hash_map遇到的编译问题

s31628 2012-03-07 10:14:27
//main.c

#include "HashMapTemp.h"
int main(void)

{
return 0;

}



//HashMapTemp.h

#ifndef __HASH_MAP_TEMP_H__
#define __HASH_MAP_TEMP_H__

#ifdef WIN32
#include <hash_map>
using namespace std;
using namespace stdext;
#else
#include <ext/hash_map>
using namespace __gnu_cxx;
#endif

template<typename Key, typename Value>
class CHashMapTemp
{
public:
CHashMapTemp()
{
//
}
};

#endif


在使用g++编译的时候,能正确的找到这个hash_map头文件,但是却出一个莫名其妙的错误,,不不知道咋解决,错误提示如下:

/usr/include/machine/stdlib.h:14: error: expected init-declarator before "extern"
/usr/include/machine/stdlib.h:14: error: expected `,' or `;' before "extern"
<builtin>: recipe for target `test.o' failed
make: *** [test.o] Error 1


求帮忙看一下。
...全文
84 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiaospace 2012-03-07
  • 打赏
  • 举报
回复
一般都是程序中少加了个";"导致错误原因并没有定位在正确的代码上
s31628 2012-03-07
  • 打赏
  • 举报
回复
stdlib.h文件如下
#ifndef _MACHSTDLIB_H_
#define _MACHSTDLIB_H_
#ifdef __cplusplus
extern "C" {
#endif

char *mkdtemp (char *);

#ifdef __cplusplus
}
#endif
#endif /* _MACHSTDLIB_H_ */

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧