[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