comp.lang.ada
 help / color / mirror / Atom feed
From: jerry@jvdsys.nextjk.stuyts.nl (Jerry van Dijk)
Subject: Re: Linking to c++ libraries problem
Date: 1998/08/18
Date: 1998-08-18T00:00:00+00:00	[thread overview]
Message-ID: <ExwJqp.B4@jvdsys.nextjk.stuyts.nl> (raw)
In-Reply-To: 01bdcb09$d79eba90$0f010180@nc84c

Mark (wilson_m_r@yahoo.com) wrote:

: I am using the Gnat ada compiler to link an ada program with functions
: defined in c++ . libraries (Microsoft Visual c++ v5).

Ok. Assuming you are using 3.10p.

: The problem I am having is that the c++ libraries make use of C++ library
: functions (like printf)

Actually, printf is a C library function, in C++ you would use the 
cout stream.

: and when I link using the Gnat ada compiler I get
: undefined references to a host of things (like _imp__fprintf). 

: I think that I want to add to this a library to resolve the missing
: declarations but I am not sure what the library is.

: Is this library available within gnat?

Since you are calling a C library function, it tries to link to the 
MS C runtime DLL import library. GNAT links in the gcc style import
library to this dll, which has a different format, so, the function
is not found.

The easiest way out is to recompile your C or C++ code using gcc.
(if it is C code, the C compiler is included with gnat). If that is
not possible, recompile the C++ code as a dll and import this through
a package. See my homepage: http://stad.dsl.nl/~jvandyk for more info.

Jerry.


-- 
-- Jerry van Dijk  | email: jdijk@acm.org
-- Leiden, Holland | member Team-Ada
-- Ada & Win32: http://stad.dsl.nl/~jvandyk




  reply	other threads:[~1998-08-18  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-08-18  0:00 Linking to c++ libraries problem Mark
1998-08-18  0:00 ` Jerry van Dijk [this message]
1998-08-19  0:00   ` Mark
1998-08-19  0:00     ` Jerry van Dijk
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox