-------- Original Message -------- From: - Tue Jan 22 09:25:53 2002 X-UIDL: 1011646075.3390.mail X-Mozilla-Status: 0011 X-Mozilla-Status2: 00000000 Return-Path: <[EMAIL PROTECTED]> Delivered-To: [EMAIL PROTECTED] Received: (qmail 3388 invoked by alias); 21 Jan 2002 20:47:55 -0000 Delivered-To: [EMAIL PROTECTED] Received: (qmail 3385 invoked by uid 8); 21 Jan 2002 20:47:55 -0000 Received: from duck.doc.ic.ac.uk (146.169.1.46) by mail.syntrex.com with SMTP id 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 PROTECTED]; Mon, 21 Jan 2002 19:46:38 +0000 Content-Type: text/plain; charset="iso-8859-1" From: Christopher January <[EMAIL PROTECTED]> To: Pavel Tsekov <[EMAIL PROTECTED]> 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 PROTECTED]> <[EMAIL PROTECTED]> In-Reply-To: <[EMAIL PROTECTED]> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <[EMAIL PROTECTED]>
> 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/