From: Tucker Taft <stt@averstar.com>
Subject: Re: Calling C from Ada - link problem
Date: 2000/03/09
Date: 2000-03-09T17:57:41+00:00 [thread overview]
Message-ID: <38C7E615.A011C7FE@averstar.com> (raw)
In-Reply-To: 8a803u$906$1@nnrp1.deja.com
Ashley King wrote:
>
> Hello everybody. I hope someone can help me.
>
> I am trying to call a C function from Ada. I am using ObjectAda 7.1.1
> and MS Visual C++ 6. Everything compiles. When I try to link on the Ada
> side, I get the following error:
>
> whatever.lib: fatal error LNK1106: invalid file or disk full: cannot
> seek to 0x...
>
> My disk is definitely not full, and I have looked through past Usenet
> messages using Deja and none of the other suggestions or comments that I
> saw have made any difference.
>
> The C project was created as a Win32 Dynamic-Link Library, and the build
> produces .DLL, .EXP and .LIB files plus some others. I have put the path
> that contains these files into the ObjectAda Project Settings under
> Search links of type Normal.
>
> The Ada code I am using is, essentially:
>
> WITH INTERFACES.C ;
> ...
> FUNCTION whatever RETURN INTERFACES.C.INT ;
> PRAGMA IMPORT ( C, whatever, "whatever" ) ;
ObjectAda has a number of conventions other than simply "C" which
allow you to be more specific about the calling convention and/or
specify whether you are exporting/importing as part of a DLL.
You might want to consult that part of the ObjectAda documentation
that explains the options available for the "convention" argument to
pragma Import.
> The C code I am using is, in full:
>
> whatever.h:
>
> #ifdef __cplusplus
> extern "C" {
> #endif
> __declspec(dllexport) int whatever();
> #ifdef __cplusplus
> }
> #endif
>
> whatever.cpp:
>
> #include "whatever.h"
> int whatever()
> {
> return 12345;
> }
>
> Thanks for any help.
>
> Regards,
> Ashley
--
-Tucker Taft stt@averstar.com http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.) Burlington, MA USA
next prev parent reply other threads:[~2000-03-09 0:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-09 0:00 Calling C from Ada - link problem Ashley King
2000-03-09 0:00 ` Tucker Taft [this message]
2000-03-10 0:00 ` Ashley King
2000-03-09 0:00 ` Mike Dimmick
2000-03-10 0:00 ` Ashley King
2000-03-11 0:00 ` David Botton
2000-03-09 0:00 ` Robert Dewar
2000-03-09 0:00 ` Larry Kilgallen
2000-03-09 0:00 ` Rush Kester
2000-03-10 0:00 ` Ashley King
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox