During our KDE-Windows meeting in Berlin we had a big discussion on compiler support for kde4/windows. I for myself only wanted to distribute mingw binaries because we should not forget our roots. On the other side the mingw compiler is not the fastest one and debugging on windows with gdb is a pain. Here msvc has a big advantage with it's superior IDE Debugger which is imo even much better than kdevelop+gdb on linux.
And now yesterday trolltech annonced that they will support msvc8 express (and I hope for nmake too, did not take a look yet) for the opensource version and the discussion about whether to use msvc or mingw reached the public. One advantage of this step is that I've no longer create packages to add support for compiling qt4/windows opensource with msvc.
Another problem is that mingw support on win32 is uncertain because the maintainer of gcc/win32, Danny Smith, left mingw just after the second release candidate of gcc4.2.1. That's really a bad sign... :(
We even face more problems because we can't mix msvc debug and release libs. This will force us to rename the debug libs and add a debug postfix. Currently it's only implemented for the kdesupport libs (and all c++ libs below). Adding this feature to kdelibs would blow up FindKDE4Internals.cmake because we then everytime have to distinguish between every debug and release kde4 lib. Maybe I should take a look into cmake macros... :)
I still don't know how to decide... for now we maybe should ship the libraries for both compilers - what do you think?
Mittwoch, 19. September 2007
Abonnieren
Kommentare zum Post (Atom)
5 Kommentare:
Well, I think unless mingw development halts completely we should still support it. MS VC forces me to register the express edition after 30 days and doesn't work thereafter, thats just unacceptable - IHMO.
Also MinGW binaries can be used for cross-compiling, M$VC ones are useless for that (there's no cross-M$VC and MinGW isn't ABI-compatible), and cross-building the source is probably not an option either.
If you want to know how I cross-compile a KDE 4 application: I use qmake and tweaked mkspecs (and a script to set a few environment variables):
http://tigcc-linux.cvs.sourceforge.net/tigcc-linux/ktigcc/mingw/
To create the sysroot, I just batch-unzipped the MinGW binary ZIP packages from kde-windows. (Krusader is nice for that, but it can also be easily done in a bash script.)
Oh, and while Danny Smith's resignation from MinGW development is unfortunate, it is really not a reason to run to M$VC in panic. What Jaroslav Staniek says about relying on M$ tools ("Again, in the worst case if the vendor stops the support, you still have _single-source-code_ project, and abstracted in terms of design (you pay attention to this, do you?), so you can move with your development to other tools or even operating system.") also applies here. If MinGW really stops working for you at one point, you can always switch to something else then, running away now is overreacting.
Trolltech should then help support MinGW Project. MinGW is important and it does evolve, albeit very slowly. MinGW needs more support at this crucial time!
Kommentar veröffentlichen