[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: C linkage problem when C++ library is used.

From: Albert Chin
Subject: Re: C linkage problem when C++ library is used.
Date: Fri, 16 Apr 2004 16:39:15 -0500
User-agent: Mutt/1.5.6i

On Thu, Apr 15, 2004 at 02:43:57PM -0500, Bob Friesenhahn wrote:
> On Fri, 16 Apr 2004, Albert Chin wrote:
> > On Thu, Apr 15, 2004 at 11:10:20AM -0500, Bob Friesenhahn wrote:
> > > If a program which is based on C language depends on a library which
> > > is implemented in C++, the C++ compiler should be used to link the
> > > program.  Otherwise C++ static initialization may not work right, or
> > > linking may fail entirely.  Libtool doesn't currently offer any
> > > provision to do that.
> > >
> > > The installed .la file for a C++ library does not indicate the
> > > implementation language, or what linker should be used.  When the C++
> > > library was built using modern GCC then is listed as a
> > > library dependency so at some clue may be gleaned from that fact.
> > >
> > > It seems to me that this is a fundamental flaw in muti-lingual libtool
> > > as it exists today.
> >
> > Shouldn't the developer be responsible for using the C++ compiler
> > rather than the C compiler? Why should libtool solve this? Without
> > libtool, the developer should be using the C++ compiler to link
> > anyway.
> The "developer" is not necessarily aware of all the library
> dependencies since she may not be responsible for the maintenance of
> these libraries, or how they are configured.  Perhaps in some cases a
> C-based widget library is used, while in other cases a C++-based
> widget library is used.  Another unfortunate issue is that when the
> developer provides a .c file to Automake, Automake will automatically
> apply the rules necessary to compile and link a C source file.
> However, if a C++ library is used which was built using libtool, then
> libtool should be aware that C++ is now in the picture and thus C++
> linkage is needed.
> Without this support in libtool, whether an application links, or
> successfully runs after linking is platform dependent.

Fine by me. Seems outside the realm of what libtool should accomplish.

albert chin (address@hidden)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]