【发布时间】:2014-06-10 09:47:36
【问题描述】:
我有这个:
a.h:
class a
{
}
void func(){} //some golobal function
b.h:
include "a.h"
class b : public a
{
}
b.cpp:
#include "b.h"
我得到错误:
error LNK1169: one or more multiply defined symbols found
我想我得到了错误,因为全局函数定义了两次。我尝试将extern 放在函数之前,但不起作用。我也使用#ifndef..,但仍然出现错误。如何解决这个问题?
【问题讨论】:
-
编译器列出了多重定义的符号。那些符号是什么?
-
如果
func的定义在b.cpp文件中包含两次,编译器在编译文件时会报错。 -
是否有多个编译单元(cpp文件)?
标签: c++ function compiler-errors