QtD 0.1 is out!

Eldar Insafutdinov e.insafutdinov at gmail.com
Thu Feb 12 02:55:16 PST 2009


Don Wrote:

> John Reimer wrote:
> > Hello Eldar,
> > 
> >> Bill Baxter Wrote:
> >>
> >>> On Wed, Feb 11, 2009 at 8:10 PM, Eldar Insafutdinov
> >>> <e.insafutdinov at gmail.com> wrote:
> >>>
> >>>> Denis Koroskin Wrote:
> >>>>
> >>>>> On Wed, 11 Feb 2009 00:59:28 +0300, Eldar Insafutdinov
> >>>>> <e.insafutdinov at gmail.com> wrote:
> >>>>>
> >>>>>> ideage Wrote:
> >>>>>>
> >>>>>>> Great stuff!
> >>>>>>>
> >>>>>>> Expect window's version!
> >>>>>>>
> >>>>>> So after some time trying to build qtd windows packages I realized
> >>>>>> that there are huge issues. I tried first dmd and since I have to
> >>>>>> link D part of wrapper with C++ object files produced by mingw -
> >>>>>> it didnt work and I was told that it's because mingw and dmd have
> >>>>>> different object file formats. So 2 options left are gdc(which is
> >>>>>> kinda outdated) and ldc(which doesn't support exception handling).
> >>>>>> So the situation is suspended, although I am trying to build it
> >>>>>> with ldc now.
> >>>>>>
> >>>>> You can try building Qt with DMC. It works quite will in pair with
> >>>>> DMD on Windows.
> >>>>>
> >>>> And will dmc be able to compile Qt? And also as much as I undestdood
> >>>> make is not compatible with the one that comes with dmc? I will
> >>>> probably run into a big problem..
> >>>>
> >>> You could use mingw's GNU make with CC=dmc.  But I dunno if dmc will
> >>> compile Qt or not.  I would think it would, though.
> >>>
> >>> --bb
> >>>
> >> Actually I decided to make a dll. It is possible to do it and will be
> >> more robust solution. Qt is not tested to be compiled with dmc by
> >> trolltech(mingw, msvc and icc are guaranteed).
> >>
> > 
> > 
> > A dll is probably your best option, if you can make it work with the C++ 
> > code(?).  I would have thought you needed a C interface, though. 
> > 
> > dmc is rarely supported by the majority of open-source projects out 
> > there, so you end up having to fix a lot of makefiles and a lot of 
> > code.  It is especially difficult getting C++ code working with such 
> > projects because many of these will use macro definitions to 
> > enable/disable certain vendor compiler features.  Also you will run into 
> > C++ implementation differences that make dmc choke.
> > 
> > 
> > On several occasions where I've tried to use dmc for the same reason, 
> > and I've come to the conclusion that dmc support is a whole project in 
> > itself. It's a huge waste of time if all you want is to interface with a 
> > library. I recommend the ddl route if you can make it work.  Most others 
> > have done the same.
> > 
> > 
> > Incindentally, if you are curious why projects like Derelict and other 
> > bindings (using dynamic loading) are so oft used in the D community, 
> > this is pretty much the reason.
> > 
> > 
> > -JJR
> 
> Well, since Qt is going to use the lunatic# LGPL license, you have to 
> use a DLL anyway for commercial use.
> 
> # lunatic because of the prohibition against static linking. I cannot 
> understand why anyone would use such an absolutely moronic license.

I'm thinking on putting only C++ part of binding to a dll, while statically link D part. With Qt 4.5 out under lgpl we can make QtD under BSD, so this will work.


More information about the Digitalmars-d-announce mailing list