1

我的makefile中有两个头文件。

一个有一个函数符号“uint32_t util::hash(const char*)”,

另一个有一个命名空间符号“namespace util::hash { }”

g++ 抱怨:

StringUtil.h:24: error: ‘uint32_t util::hash(const char*)’ redeclared as different kind of symbol
../util/hash/Hash_Interface.h:8: error: previous declaration of ‘namespace util::hash { }’

这两个文件来自其他库,所以我不能更改名称。如何解决?

4

1 回答 1

1

您可以将其中一个头文件包含在命名空间中,例如

namespace foo
{
#include "some_file.h"
}

"some_file.h"现在头文件中的所有符号都在foo命名空间中。

于 2013-09-19T14:03:49.513 回答