views:

19

answers:

1

I'm certain this has been asked before, with with nearly 900k questions, it's hard to find things :)

We are starting a project where we want our C++ and Python to run both under a Unix environment but also under Windows. We want to make our project easy to contribute to as developers, and so we wish to have what each side feels is "natural."

In this case, under Unix, it's automake/autoconf/etc. Under Windows, anything but visual studio project files seems like a mistake. This is mostly because we want windows-native hackers to have a way to easily develop in their natural environment.

How are people doing this sort of thing today? Are Windows coders comfortable in a non-GUI world, so we are trying too hard?

Another goal is that we need automated testing of our project, ideally using the same test code (google-test) on all platforms, etc. This may be matter for another question, though.

+2  A: 

Multi-platform development can be a tricky situation. Here are some things we do to ease the process:

  1. Source Control (this one is obvious, a solid code-base that works with both Windows and Linux, we use SubVersion)
  2. Create standards (All of our Makefiles look identical and are easy to implement as are our .sln files for Visual Studio)
  3. Build the application on all platforms, frequently
  4. Be aware of cross library use like QT and any quirks that might contain between Windows and Linux
  5. Sometimes you can't avoid it: #ifndef's to execute some code specific to a platform

We develop in Windows, Sun and Linux (RedHat) with multiple applications both visual and command line based. I hope that helps!

Robb