记录器错误的多重定义

时间:2012-05-02 09:12:55

标签: c++ multithreading

我有两个测试文件,一个旧的和一个新的。当我测试新文件时,我收到以下消息:

build/Debug/MinGW_1-Windows/_ext/86258799/loggerthread_nomain.o: In function `log':
c:/repos/trunk/logging/impl/../include/Logger.h:71: multiple definition of `logger'
build/Debug/MinGW_1-Windows/tests/tests/loggingsimpletest.o:C:\repos\trunk\logging/tests/../include/Logger.h:71
: first defined here

collect2: ld returned 1 exit status
make[1]: *** [build/Debug/MinGW_1-Windows/tests/TestFiles/f1] Error 1
make: *** [.build-tests-impl] Error 2

此错误意味着什么,我该如何解决?

1 个答案:

答案 0 :(得分:0)

您需要在Logger.h头文件中使用include guards以防止多次包含。

您可能还在标头和源文件中定义了相同的类。您应该只在一个地方或另一个地方(通常是头文件)定义它。