Question

I've been fighting a whole day with UNIX utilities - so sorry if I appear confused! I'm describing my painful and (so far) fruitless process a little because maybe someone may correct me, or maybe describing the process might be helpful to someone later on. If you want to skip this, the question is bolded below.

So I'm trying to convert a Linux program developed using kdevelop. I'm trying to make it run on Windows 7. (This is the SHoUT Speech Took mentioned here, developed by Marijn Huijbregts).

I've wasted half a day trying to install kdevelop on Windows, only to understand that kdevelop can't run on Windows and that I've been installing KDE all that time :( (If kdevelop CAN run on Windows, information would be highly appreciated).

OK, so following the advice in SO's Best environment to port C/C++ code from Linux to Windows, I installed MinGW32 only to find out that SHoUT's makefile contains targets such as aclocal, autoheader etc. - I've come face to face with the hitherto unknown GNU Build System.

I'm now in the middle of installing GnuWin32 using GetGnuWin32. This is taking hours. And I suspect that once it finishes, I'll stumble on something else.

A day of pain - and still not one code line compiled :((.

So, I'm thinking about an alternative approach: Install Linux and run kdevelop as a cross-compiler to compile to Windows. As this is a console application, MAYBE it'll be easier.

So, finally, my question:

If I want to install Linux guest in VMWare Workstation (8, running on Windows 7 host), I understand I need a "distribution". I understand there's a ton of distributions, some free, some paid.

Which distribution should I choose which would run kdevelop and be as simple as possible? I just want to #@$$ing compile, and I can't stand one more day like this...

Avi

Edit:

I've tried compiling the code using VS - very tedious. Many differences between Linuix/GCC and windows/MSVC. Moreover, this is code deveoped by someone else, and I'm not even sure that the program sovles the business needs. So I've decided on the following process:

  1. Configure Linux and run the software on Linux.
  2. Validate that program solves business rule. If not - Abort.
  3. Try cross oompiling on Linux. If running on Windows, verify by comparing outputs to those obtained on Linux. If good - Done.
  4. Try compiling on Windows using ported Windows versions of the GNU Build tools. Use understanding and values obtained from building on the Linux target. If good - Done. Else
  5. Abend and try another solution to the business problem, or try the MS tools (again using understanding and values obtained from building on the Linux target).
Was it helpful?

Solution

Please DON'T install Linux! It will take you another half a day and another questions asked here if you're doing it for the first time.

Just install VirtualBox and grab some VirtualBox image from some site. Kubuntu should be working fine with your KDE stuff: http://virtualboxes.org/images/kubuntu/

It will get you a running KDE Linux in just 5 minutes.

OTHER TIPS

Many distributions are possible. Mandriva is KDE based.

But you can also install a Debian distribution, and install KDE in it.

I suggest to contact the ShOUT project community.

You should not cross-compile. MinGW can come handy but it is not required. What you need is to port the code and its dependencies to Windows, and there is nothing wrong if you use Visual Studio, for example.

I am using Ubuntu on VirtualBox OSE and through it use kdevelop and it runs seamlessly. Alternatively you can try kubuntu.

Why VirtualBox OSE - Free, Mature

It is easier to compile with MinGW on Windows than cross compile on Linux.

Build system... It could be quite easy to write Your own. Much easier than actual porting of C++ code. Could be even easier than using GNU Build System.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top