首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux下的编译有关问题,请帮忙解决

2012-03-31 
linux下的编译问题,请帮忙解决!../inc/typedef.h:59:redefinitionof`ENUM_SFN_SFN_OTD_TYPE../inc/typedef

linux下的编译问题,请帮忙解决!
../inc/typedef.h:59:   redefinition   of   `ENUM_SFN_SFN_OTD_TYPE '
../inc/typedef.h:59:   here   is   the   previous   declaration   of   `ENUM_SFN_SFN_OTD_TYPE '
../inc/typedef.h:61:   redefinition   of   `ENUM_T_CR_MAX_HYST '
../inc/typedef.h:61:   here   is   the   previous   declaration   of   `ENUM_T_CR_MAX_HYST '
../inc/typedef.h:63:   redefinition   of   `ENUM_TEMP_OFFSET1 '
../inc/typedef.h:63:   here   is   the   previous   declaration   of   `ENUM_TEMP_OFFSET1 '
../inc/typedef.h:65:   redefinition   of   `ENUM_TEMP_OFFSET2 '
../inc/typedef.h:65:   here   is   the   previous   declaration   of   `ENUM_TEMP_OFFSET2 '
../inc/typedef.h:67:   redefinition   of   `OPTION_BIT_32 '
../inc/typedef.h:67:   here   is   the   previous   declaration   of   `OPTION_BIT_32 '

以上只是其中的一部分,象“ENUM_T_CR_MAX_HYST”这样我整个工程里面只有一处定义,但是好像提示重复定义,不知道什么原因,哪位给解释一下。

[解决办法]
头文件被#include了多次!

[解决办法]
应该
#ifndef ***
#define ***
#else
#define ****
#endif
[解决办法]
贴代码, 光这么说说不清楚.
看样子你这个应该不是宏, 是变量吧, 我估计是声明处没有加extern的原因吧.
[解决办法]
redefinition,应该是在头文件中定义了全局变量吧?这种情况保护宏起不到作用的
头文件中最好不要定义变量而只是用extern声明,定义统一放在cpp中吧
[解决办法]
被包含多次了,也会引起重新定义的
[解决办法]
应该区别声明和定义的区别
2,要明白什么情况下使用
#ifdef _XXHEADER_H_
#define _XXHEADER_H_

// header place here

#endif
[解决办法]
up
不会
[解决办法]
把../inc/typedef.h贴出来让大家看看吧。

热点排行