Subject: [Fwd: Re: How to make g++ link with QT (a microsoft compatible library) on x86]
From: Pavel Tsekov <[email-masked]>
To: [email-masked]
Date: Tue, 22 Jan 2002 09:57:08 +0100

-------- Original Message --------
From: - Tue Jan 22 09:25:53 2002
smtpd11tZLg; Mon, 21 Jan 2002 15:47:54 EST
Received: from texel12.doc.ic.ac.uk	([146.169.49.61] helo=there ident=ccj00)	by duck.doc.ic.ac.uk with smtp 
(Exim 3.16 #7)	id 16SkOs-00036t-00	for [email-masked]; Mon, 21 Jan 2002 19:46:38 +0000
Content-Type: text/plain;  charset="iso-8859-1"
From: Christopher January <[email-masked]>
To: Pavel Tsekov <[email-masked]>
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]
References: <[email-masked]> 
<[email-masked]>
In-Reply-To: <[email-masked]>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Message-Id: <[email-masked]>

 > 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
licensing issues.
QT/X11 already compiles under Cygwin and can be used with the XFree86 
server.
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++.

Regards
Chris

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/