如何解决因重复包含而出现在变量重复定义问题?在线等!!!!!

hotalpha 2006-01-09 10:50:02
A,B两个CPP文件都包含G.H头文件,而在G.H头文件中定义了若干全局变量,而编译时会出现一堆链接错误:
IDB_Client_BBS_UserRank.obj : error LNK2005: "void __stdcall PackageProcess(void *,int,char *)" (?PackageProcess@@YGXPAXHPAD@Z) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "int g_curModifiedSiteNum" (?g_curModifiedSiteNum@@3HA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "int g_curModifiedUserRankNum" (?g_curModifiedUserRankNum@@3HA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "int g_curModifiedGroupNum" (?g_curModifiedGroupNum@@3HA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "int g_curModifiedUserNum" (?g_curModifiedUserNum@@3HA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "struct _RTL_CRITICAL_SECTION g_sectionQueue" (?g_sectionQueue@@3U_RTL_CRITICAL_SECTION@@A) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "__int64 * g_modifiedUserNO" (?g_modifiedUserNO@@3PA_JA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "__int64 * g_modifiedGroupNO" (?g_modifiedGroupNO@@3PA_JA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "__int64 * g_modifiedUserRankNO" (?g_modifiedUserRankNO@@3PA_JA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2005: "__int64 * g_modifiedSiteNO" (?g_modifiedSiteNO@@3PA_JA) already defined in IDB_Client_BBS_User.obj
IDB_Client_BBS_UserRank.obj : error LNK2019: unresolved external symbol "public: int

我在G.H头文件中用了#pragma once和#ifndef _BBS_DB_GLOBAL_
#define _BBS_DB_GLOBAL_
这样的宏均不管用,请问如何解决????
在线等,谢谢.


...全文
158 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
handsomerun 2006-01-09
  • 打赏
  • 举报
回复
这个问题昨天还看到了

全局变量定义放到cpp中,
如果哪个文件要用,在头文件里用extern声明一下就可以了

#pragma once和#ifndef _BBS_DB_GLOBAL
这种东西防不了全局变量被重复定义的

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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