Qt-interest Archive, March 2002
LGPL multi-platform sw
Message 1 in thread
Hi all,
we are developing a LGPL software under Linux and other unixes
(see http://nusmv.irst.itc.it ).
We are planning now to realize a GUI for this software, with the
strong requirement to keep a high portability to a large number of
platforms (of course the unixes, but also win and mac).
From this point of view QT seems to be an ideal technology (and
smart, with a very good development tools, complete and high-quality
api, binding to other languages, and so forth and so on.)
But the Windows non-commericial version of QT3.0 is time-limited, and
it seems it is actually dependent from MS Visual Studio environment,
which we would like to keep away from out desktops if it were
possible.
So finally questions are:
1) How do you deal with opensource software development under windows
using QT3?
2) Is it possible to compile QT3 under windows using cygwin? If yes,
how do you deal with the license aspects?
3) Why should you need MSVS6.0 to compile a QT-based software? QT
should be a separate library (a dll or a lib, with a set of include
files and nothing more) to be linked with the QT-based software,
isn't it? So the actual work shoud be performed by the linker only...
Many thanks in advance.
roberto
------------------------------------------------------
Roberto Cavada
ITC-irst (Istituto per la Ricerca Scientifica e Tecnologica)
Divisione Sistemi di Ragionamento Automatico - Gruppo Metodi Formali
Via Sommarive, 18 - 38050 Povo (TN) (http://www.irst.itc.it)
+39-0461-314321 cavada@irst.itc.it http://sra.itc.it/people/cavada/
------------------------------------------------------
Message 2 in thread
> So finally questions are:
> 1) How do you deal with opensource software development under windows
> using QT3?
You can either use cygwin (this one usually requires X11 as well, so
you need XFree on Win to use your app).
Or you can make a try at porting to native platform, it can be
done using f.e. mingw (Minimalist gnu on sourceforge) and/or a layer
for XLib available on sourceforge as well. Look on KDE-Cygwin ML archive
(lists.kde.org) for "native win32" or similar keywords.
> 2) Is it possible to compile QT3 under windows using cygwin? If yes,
> how do you deal with the license aspects?
As long as you use the GPL-X11 version and release your code under
GPL there should be no licensing issues. You don't get support for
that kind of development environment from QT (except this list and
kde-cygwin list).
> 3) Why should you need MSVS6.0 to compile a QT-based software? QT
> should be a separate library (a dll or a lib, with a set of include
> files and nothing more) to be linked with the QT-based software,
> isn't it? So the actual work shoud be performed by the linker only...
I think because of the commercial support, I don't know how QT ported
the library to win32 platform but probably it was much easier using
MSVC than gcc (I think it must be very old decision, maybe there was no
support for gcc on win32 at that time). Maybe the IDE was another reason
as they support Borland as well (But you can use other compilers with
MSVC as well, search the ML archive for more information).
Regards,
Reinhard Katzmann
Message 3 in thread
Reinhard Katzmann wrote:
>> 3) Why should you need MSVS6.0 to compile a QT-based software? QT
>> should be a separate library (a dll or a lib, with a set of include
>> files and nothing more) to be linked with the QT-based software,
>> isn't it? So the actual work shoud be performed by the linker only...
>
>
> I think because of the commercial support, I don't know how QT ported
> the library to win32 platform but probably it was much easier using
> MSVC than gcc (I think it must be very old decision, maybe there was no
> support for gcc on win32 at that time). Maybe the IDE was another reason
> as they support Borland as well (But you can use other compilers with
> MSVC as well, search the ML archive for more information).
I think the decision is not outdated or even wrong. They had to choose
one platform and they choose the biggest one Visual Studio. There is non
commercial version of Qt 3 as far as I know, only an evaluation release.
There is a 2.3 release called non commercial, but that still has the
Visual Studio dependency, if you purchase a license for Qt you get the
sourcecode for the library and can use any compiler/IDE your heart
desires (I know that Borland is support, probably gcc as well).
/Mauritz
Underscore AB
Message 4 in thread
Hi,
> 3) Why should you need MSVS6.0 to compile a QT-based software? QT
> should be a separate library (a dll or a lib, with a set of include
> files and nothing more) to be linked with the QT-based software,
> isn't it? So the actual work shoud be performed by the linker only...
C++ compilers are usually not binary compatible, because of name
mangling and structure layout.
Dimitri
Message 5 in thread
On Friday 15 March 2002 08:32, you wrote:
> C++ compilers are usually not binary compatible, because of name
> mangling and structure layout.
Yes, you are right if you consider a statically linked library.
If you consider a shared object (or a dll, in win32 terminology)
linking is wrapped by the OS loader - so ideally there is no need for
recompilation. Is it?
roberto
Message 6 in thread
On Friday 15 March 2002 03:54 am, Roberto Cavada wrote:
> On Friday 15 March 2002 08:32, you wrote:
> > C++ compilers are usually not binary compatible, because of name
> > mangling and structure layout.
>
> Yes, you are right if you consider a statically linked library.
> If you consider a shared object (or a dll, in win32 terminology)
> linking is wrapped by the OS loader - so ideally there is no need for
> recompilation. Is it?
Yes there is. A C++ DLL compiled by MSVC++ will not be usable by code
compiled with a compiler that mangles names differently. G++ mangles names
differently so the linker would not be able to map G++ references with VC++
entry points.
-K