我的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 { }’
并且这两个文件来自其他lib,所以我无法更改名称。怎么解决?
答案 0 :(得分:1)
您可以将其中一个头文件包含在命名空间中,例如
namespace foo
{
#include "some_file.h"
}
现在"some_file.h"
头文件中的所有符号都在foo
命名空间中。