Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3C4D2964.3090507@syntrex.com> Date: Tue, 22 Jan 2002 09:57:08 +0100 From: Pavel Tsekov User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20011126 Netscape6/6.2.1 X-Accept-Language: en-us MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: [Fwd: Re: How to make g++ link with QT (a microsoft compatible library) on x86] Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit -------- 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: Delivered-To: ptsekov AT mail DOT syntrex DOT com Received: (qmail 3388 invoked by alias); 21 Jan 2002 20:47:55 -0000 Delivered-To: alias-localdelivery-ptsekov AT syntrex DOT com 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 ptsekov AT syntrex DOT com; Mon, 21 Jan 2002 19:46:38 +0000 Content-Type: text/plain; charset="iso-8859-1" From: Christopher January To: Pavel Tsekov 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: <94A671CDB200AA49ADCC85C7FE10ED4D67FE28 AT hermes DOT super DOT dk> <3C4BE79C DOT 7000400 AT syntrex DOT com> In-Reply-To: <3C4BE79C DOT 7000400 AT syntrex DOT com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: > 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/