в моем make-файле есть два заголовочных файла.
у одного есть символ функции «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 { }’
и эти два файла из другой библиотеки, поэтому я не могу изменить имя. Как это решить?
Вы можете поместить одно из включений заголовочного файла в пространство имен, например
namespace foo
{
#include "some_file.h"}
Теперь все символы из "some_file.h"
Заголовочный файл находится в foo
Пространство имен.
Других решений пока нет …