После включения как protobuf 2.5, так и 3d-движка irrlicht я получил следующую ошибку компиляции:
...\irrlicht\trunk\source\protobuf-2.5.0rc1\src\google\protobuf\generated_message_util.h(71):
error C2872: 'string' : ambiguous symbol
could be 'c:\msdev2010\vc\include\xstring(2062) : std::basic_string<_Elem,_Traits,_Ax>
std::string'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
or
c:\projects\ultimatestrategy\irrlicht\include\irrstring.h(74) : irr::core::string
Теперь я понимаю, что проблема связана с protobuf, поскольку они не используют полные имена символов, а используют директиву с помощью.
Вопрос: Какой самый быстрый способ обойти исправить одну или обе библиотеки, чтобы они хорошо играли вместе?
Примечание: только ссылка, которую я нашел по этой проблеме: https://code.google.com/p/protobuf/issues/detail?id=544&д = неоднозначным% 20symbol&colspec = ID% 20Type% 20Status% 20Priority% 20FixedIn% 20Owner% 20Summary
Любая помощь будет принята с благодарностью.
Я закончил заменой всех строка от станд :: строка в коде Google.
Я также заменил все карта с станд :: Карта.
К сожалению, это нужно делать каждый раз, когда библиотеки protobuf обновляются, и это очень непрактично.
Других решений пока нет …