This is the mail archive of the
mailing list for the Cygwin project.
[Fwd: Re: How to make g++ link with QT (a microsoft compatible library) on x86]
- From: Pavel Tsekov <ptsekov at syntrex dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 22 Jan 2002 09:57:08 +0100
- Subject: [Fwd: Re: How to make g++ link with QT (a microsoft compatible library) on x86]
-------- Original Message --------
From: - Tue Jan 22 09:25:53 2002
Received: (qmail 3388 invoked by alias); 21 Jan 2002 20:47:55 -0000
Received: (qmail 3385 invoked by uid 8); 21 Jan 2002 20:47:55 -0000
Received: from duck.doc.ic.ac.uk (188.8.131.52) by mail.syntrex.com with SMTP id
smtpd11tZLg; Mon, 21 Jan 2002 15:47:54 EST
Received: from texel12.doc.ic.ac.uk ([184.108.40.206] helo=there ident=ccj00) by duck.doc.ic.ac.uk with smtp
(Exim 3.16 #7) id 16SkOs-00036t-00 for email@example.com; Mon, 21 Jan 2002 19:46:38 +0000
Content-Type: text/plain; charset="iso-8859-1"
From: Christopher January <firstname.lastname@example.org>
To: Pavel Tsekov <email@example.com>
Subject: Re: How to make g++ link with QT (a microsoft compatible
library) on x86
Date: Mon, 21 Jan 2002 19:46:38 +0000
X-Mailer: KMail [version 1.3.1]
> Yep - this is the expected behavior! :) GNU g++ and MSVC
> use different (incompatible) naming schemes to describe
> symbols in C++ classes, thus the GNU linker cannot find the
> appropriate symbol name for the QT symbols when linking
> against MSVC compiled QT.
> Torben Neesgaard wrote:
> > Hi
> > Is there a g++ switch for linking with foreign libraries?
> > Under Windows 2000, using g++, I am trying to link with QT,
> > which is released only for Microsoft Visual C++.
> > I get the error-messages shown below. Supposing this caused by
> > incompatibilities between g++ and Visual C I am searching for
> > a switch or something to cope with it. Is g++ that clever?
> > Please don't tell me to recompile g++ with Visual C++...
Visual C++ and g++ are binary incompatible, due not only to different name
mangling, but also to different representations of objects in memory (c.f.
virtual members). The only solution to this problem is to write C wrappers
for the C++ functions.
One of the goals to kde-cygwin team is to port QT/X11 to Win32. Politics
aside, if this ever happens then you will be able to link this library
against g++ objects. However it will be licensed under the GPL (QT Free
edition and QT Coporate edition are not, of course), so you may run into
QT/X11 already compiles under Cygwin and can be used with the XFree86
There is also an embryonic native Windows libx11 for Cygwin.
re your problem, your best bet is to actually modify your application to
compile under MVC++.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html