【发布时间】:2011-09-22 03:03:58
【问题描述】:
DebugUtil.h
#ifndef DEBUG_UTIL_H
#define DEBUG_UTIL_H
#include <windows.h>
int DebugMessage(const char* message)
{
const int MAX_CHARS = 1023;
static char s_buffer[MAX_CHARS+1];
return 0;
}
#endif
当我尝试运行它时,我得到了这个错误:
Terrain.obj:错误 LNK2005:“int __cdecl DebugMessage(char const *)" (?DebugMessage@@YAHPBD@Z) 已经 在 Loodus.obj 中定义
Renderer.obj:错误 LNK2005:“int __cdecl DebugMessage(char const *)" (?DebugMessage@@YAHPBD@Z) 已经 在 Loodus.obj 中定义
test.obj:错误 LNK2005:“int __cdecl DebugMessage(char const *)" (?DebugMessage@@YAHPBD@Z) 已经 在 Loodus.obj 中定义
C:\Users\Tiago\Desktop\Loodus Engine\Debug\Loodus Engine.exe:致命 错误 LNK1169:一个或多个相乘 找到定义的符号
但是为什么会这样呢?我在标题中有#ifndef #define 和#endif,所以不应该发生多个定义
【问题讨论】:
-
@Armen:很遗憾 this 问题的答案要好得多:(
标签: c++