views:

240

answers:

6

What is your technology stack for developing C++ applications?

I'm trying to decide on one.

So far this is what I have in my list:

+4  A: 

GUI: Qt.
Source control: Mercurial.

Bill
+4  A: 
  • Visual Studio 2010
  • SVN
  • Boost

(Driver development specific)

  • MSBuild
  • DDKBuild
  • WinDbg
  • WDK
Christopher
Ditch SVN, you'll do the world a favor.
Matthieu M.
Why did I know beforehand there'd be an anser by the same user advocating either Mercurial or git? Can't people use whatever fits their bill?
DevSolar
@Dev +1 Of all of the things to get excited about in this world, which version control software to use comes pretty near the bottom of my list.
anon
...as long as you use one. My feelings exactly.
DevSolar
@Neil: Hearing that your next project will use Visual SourceSafe wouldn't make you twitch? :P
Bill
@Bill Mercifully, everything I've worked on in the past 20 years or so has been cross-platform, so Source Safe has been a non-starter. But if I had to use it, I'd use it. After some of the very early (and not so early) version control systems that I've had to use, even VSS might be an improvement (looking at you, SCCS and PVCS).
anon
@ Bill: I've seen worse. Like, a company-wide migration from VSS to - get this - CVS. In 2007. We switched to SVN in the meantime. No, wait - we still use VSS in PL/SQL projects, because it integrates with the SQL Navigator. None of these choices really made me twitch. How people crammed 300 touched files in one submit, or how object files ended up in the repository - *that* made me twitch.
DevSolar
@Dev Given the choice I'd rather use TortoiseCVS than VSS - CVS is still pretty capable. Though perhaps not in 2007 when better alternatives were available.
anon
+1  A: 

First of all ?

  • Mercurial

You can't develop anything without some version control system, and the DVCS have many advantages over their ancestors.

Libraries:

  • Boost
  • Google Protocol Buffers
  • log4cpp

I only played with QT at school, never coded a GUI since.

Building / Debugging (outside Windows):

  • gcc + gdb
  • SCons
Matthieu M.
+1  A: 

Consider something else than log4cpp for log purposes, it is growing old. Maybe boost.log which may make its appearance in a next version of boost.

Nikko
+1  A: 

Visual Studio 2008 (IDE, Compiler, Debugger, and the first thing I install after Windows) Visual Assist X (makes my beloved Visual Studio even BETTER!) doxygen

  • Visual Studio 2008 - IDE, Compiler, Debugger, and the first thing I install after Windows.
  • Visual Assist X - I love Visual Studio more than anything else, and this makes it even better.
  • doxygen - It's simple, it works well. It makes docs from code.
  • git - My favorite VCS at the moment.
  • wxWidgets - It's "old", but still the best out there. Cross-platform GUI with native widgets.

... and my own collection of stuff I've made over the years, including DSP-related classes, classes for helping with memory management, intrusive container classes, etc..

arke
Granted, Visual Studio is a fine IDE and all, but it has its limits... maybe you could try going out to meet live human beings sometimes ;-)
Péter Török
+1  A: 

That totally depend on the project. At home? At my dayjob? Personal project? Game? Dayjob project?

To be more precise:

  • at the current time I didn't have any experience in using C++ on Linux so most of the time I use Visual Studio on my home projects, whatever other IDE/Compiler on job projects (CodeWarrior most of the time);
  • I use boost at home (set in the compiler environnement) but never could at work -- not authorized;
  • at my dayjob I always used SVN (when they used SVN...) but at home I used SVN and Mercurial with different projects, currently discovering Mercurial;

For all other libraries I use, most are game oriented so they are project-dependant (Ogre, SFML, OIS, etc.). I also use a "personal" lib with tools to build games fast (not fast enough though).

I'm using Qt on some tool projects too, but only at home.

So really... it's relative to the project.

Klaim