1

Visual studio 11 (beta) uses the new C++11 standard, which seems to break protobuf. Where I'm stuck at the moment is the way that the C++11 standard defines make_pair. The problem is defined well in this StackOverflow posting and is defined as by design by Microsoft.

I'm trying to compile a "small, but complex" project using Visual Studio 2011 Beta that includes protobuf. Is there a way to get this to work with VS11 (patch, compiler setting, ...), or do I have to "downgrade" to VS2010?

Community
  • 1
  • 1
John Price
  • 556
  • 1
  • 6
  • 18

1 Answers1

3

That's issue 379. The report suggests a workaround to replace make_pair<string, string> with pair<string, string> at the two problem locations in command_line_interface.cc.

A tempting solution is to remove the template arguments entirely since they're not needed. However, that would cause a regression of issue 166, which prompted the addition of the template arguments to work around a problem with Sun compilers.

Rob Kennedy
  • 161,384
  • 21
  • 275
  • 467
  • 1
    Thanks for the info. Somehow I missed that in my google search ... didn't seem to show up. Wrong keywords, I guess. – John Price Apr 12 '12 at 12:56