2012-04-10 3 views
1

Visual studio 11 (beta) использует новый стандарт C++ 11, который, кажется, нарушает protobuf. Где я застрял в данный момент, так это то, что стандарт C++ 11 определяет make_pair. Проблема определена хорошо in this StackOverflow posting и определена как by design от Microsoft.Могу ли я скомпилировать протобуф Google в Visual Studio 11?

Я пытаюсь скомпилировать «маленький, но сложный» проект с использованием Visual Studio 2011 Beta, который включает protobuf. Есть ли способ заставить это работать с VS11 (патч, настройка компилятора, ...), или мне нужно «понизить» до VS2010?

ответ

3

Это issue 379. В докладе предлагается обходное решение для замены make_pair<string, string> на pair<string, string> в двух проблемных местах в command_line_interface.cc.

Заманчивое решение состоит в том, чтобы полностью удалить аргументы шаблона, поскольку они не нужны. Тем не менее, это приведет к регрессии issue 166, что вызвало добавление аргументов шаблона для решения проблемы с компиляторами Sun.

+0

Спасибо за информацию. Как-то я пропустил это в своем поисковом поиске Google ... похоже, не появился. Неверные ключевые слова, я думаю. –

Смежные вопросы