X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
X-Trace: 87417306/mk-filter-4.mail.uk.tiscali.com/B2C/$b2c-THROTTLED-DYNAMIC/b2c-CUSTOMER-DYNAMIC-IP/79.66.94.76/None/johne53@tiscali.co.uk
X-SBRS: None
X-RemoteIP: 79.66.94.76
X-IP-MAIL-FROM: johne53@tiscali.co.uk
X-MUA: Microsoft Outlook Express 6.00.2900.2180Produced By Microsoft MimeOLE  V6.00.2900.2180
X-IP-BHB: Once
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqYEANw58EhPQl5M/2dsb2JhbACEElC2E4Fs
X-IronPort-AV: E=Sophos;i="4.33,393,1220223600";     d="scan'208";a="87417306"
Message-ID: <002201c92b9d$c1759c20$4001a8c0@mycomputer>
From: "John Emmas" <johne53@tiscali.co.uk>
To: <cygwin@cygwin.com>
Subject: Circular dependency problem
Date: Sat, 11 Oct 2008 13:34:50 +0100
MIME-Version: 1.0
Content-Type: text/plain; 	format=flowed; 	charset="Windows-1252"; 	reply-type=original
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

I'm trying to build a C++ project involving around 20 branches, the majority
of whose targets are shared library objects (DLLs).  Two of the branches
seem to have circular dependencies (in other words, each one relies on
functions contained in the other one).  If I was programming in Microsoft
VC++ I'd normally resolve this by exporting the relevant functions.
Exporting them (I believe) tells the linker that any unresolved function
addresses will be resolved at run time (hence, dynamic linking).

I don't know how the equivalent technology works in gcc but whatever it
involves, the project compiles and links fine on my Linux box.  However,
I can't make it build with Cygwin.  Both branches compile successfully but
neither will link because the other one hasn't been built yet.

Is there anywhere where I can find some information about how to make
this work?  I could probably make a cut-down version if anyone wants to see
the problem for themselves.

Thanks,

John 


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

