views:

166

answers:

4

I am looking to get a general understanding of the toolkit a typical C++ developer would use. What are some recommended tools and libraries for C++ development?

Please include a category with submission (e.g. IDE - Visual Studio) and single submission per recommendation.

Categories (add more if needed)

  • Build Tool
  • IDE
  • Unit Test Framework
  • Code Coverage
  • Debugger
  • Profiler
  • Documentation
  • Mock Objects
  • Logging
  • Other Libraries
  • Other Tools
  • Example Applications
  • ...

Thank you.

+7  A: 

The boost libraries - don't leave home without them.

Timo Geusch
don't leave home without them unless you're planning to ever debug your code.
amwinter
People are debugging their code? :). Admittedly, code that uses some of the boost libraries is not that easy to debug but if you compare it to debugging similar algorithms written by yourself, you're still ahead if you have to debug code that uses boost.
Timo Geusch
Huh I disagree, Timo Geusch. It is easier to debug your own code than someone else's. I would agree with you that I don't see any major issue on using Boost at least the header only part. I do however prefer to avoid too much abstraction when possible and Boost if used extensively can create a barrier to understand the code.
Panic
A: 

Boost for libraries, and as much as so many people hate it, the Visual Studio IDE has some impressive features (and VS2010 supports some of the new C++0x things, lambda expressions, auto, etc), and it's got a great debugger.

(also - if you don't already know, a nice chunk of C++0x is based on Boost components)

SubSevn
A: 

The canonical list of C++ libraries is Nikki Locke's Available C++ Libraries FAQ.

James McNellis
A: 

Visual Studio will cover most of those.

I'd also recommend Boost as others have. You might get away with using something like netbeans or eclipse, but if it's a large project Visual Studio will blow them away with things like debugging, profiling, and unit testing.

For documentation, msdn is one stop shopping for reading about language and tool features.

MStodd