由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ help: 一个multiple definition problem.
相关主题
看魏老师和好虫论战,总结一句话这个题目什么意思啊?
比较简单的Java数据输入验证问题一道STL面试题
问个问题find index of an element in sorted array
相关话题的讨论汇总
话题: c++话题: multiple话题: definition话题: extern话题: global
进入Programming版参与讨论
1 (共1页)
y****e
发帖数: 23939
1
一个从MSVC port到GCC的project, 有一个GlobalDefinition.h在一个目录中,定义了
很多global的变量,现在编译的时候出现了很多"multiple definition of blah blah"
的错误在link stage。这个头文件已经有inclusion guard,怎么还会有这个问题呢?
网上查了一下,说这个inclusion guard只能protect a single translation unit。有
点迷惑,怎么解决这个问题呢?
Thx
t****t
发帖数: 6806
2
C language allows multiple declaration of a global variable.
C++ doesn't allow.
If you have to, try do this trick:
#ifdef GLOBAL
#define EXTERN
#else
#define EXTERN extern
#endif
EXTERN int your_variable;
then define GLOBAL in only one .c file.

blah"

【在 y****e 的大作中提到】
: 一个从MSVC port到GCC的project, 有一个GlobalDefinition.h在一个目录中,定义了
: 很多global的变量,现在编译的时候出现了很多"multiple definition of blah blah"
: 的错误在link stage。这个头文件已经有inclusion guard,怎么还会有这个问题呢?
: 网上查了一下,说这个inclusion guard只能protect a single translation unit。有
: 点迷惑,怎么解决这个问题呢?
: Thx

1 (共1页)
进入Programming版参与讨论
相关主题
比较简单的Java数据输入验证问题一道STL面试题
问个问题find index of an element in sorted array
这个题目什么意思啊?看魏老师和好虫论战,总结一句话
相关话题的讨论汇总
话题: c++话题: multiple话题: definition话题: extern话题: global