[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CALL_EXTERNAL PROFESSIONAL HELP
Then the cause was the name mangling that C++ performs on the function.
If you need to use C++, then you must either use the mangled name or
compile the interface function as C and delare it as:
extern "C" {
[type] emfit_xy_array([parameters]);
}
In article <38EB4EA1.2ED12D97@va.aetc.com>,
Bernard Puc <bpuc@va.aetc.com> wrote:
>Let me reply to my own message...The problem lies somewhere in the
>compile. I was able to make things work by changing the source code
>file extensions from *.cc to *.c. Apparently the c++ compiler was begin
>used instead of the gcc compiler.
>
>Bernard Puc wrote:
>>
>> Hello,
>>
>> I'd appreciate any ideas from you folks on the possible causes of the
>> following error message. I'm compiling a shareable object on linux and
>> I get the following error message when I try to use it. I've
>> successfully compiled other C routines into shareable objects for IDL
>> and thought I knew what I was doing. Now I believe it was just luck.
>>
>> % CALL_EXTERNAL: Error loading sharable executable.
>> Symbol: emfit_xy_array, File =
>> /home/bpuc/C_code/emfit/betafit.linux.so
>> /home/bpuc/C_code/emfit/betafit.linux.so: undefined
>> symbol:
>> emfit_xy_array
>
>--
>Bernard Puc AETC, INC.
>bpuc@va.aetc.com 1225 Jefferson Davis Highway #800
>(703) 413-0500 Arlington, VA 22202
--
--
Mike Fitzgibbon MRFitz@ns.arizona.edu
UofAz, LPL phone:(520)626-4791
Systems Programmer, Sr. fax: (520)621-6783