QtD 0.1 is out!

Don nospam at nospam.com
Thu Feb 12 04:50:37 PST 2009


Eldar Insafutdinov wrote:
> 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.
Cool!


More information about the Digitalmars-d-announce mailing list