Re: Using C++ DLM's With IDL? [message #26042 is a reply to message #26030] |
Wed, 01 August 2001 01:44   |
Nigel Wade
Messages: 286 Registered: March 1998
|
Senior Member |
|
|
K. Banerjee wrote:
> Nigel Wade <nmw@ion.le.ac.uk> wrote:
>
>> K. Banerjee wrote:
>>
>
>>> I need to call some outside code from IDL. I created a
>>> shared object file, using a C++ compiler (g++). When I call
>>> a function from the DLM from the IDL command prompt, I get
>>> the error:
>>>
>>> Symbol not found: cerr
>>>
>>> (There are other symbols not found.)
>>>
>>> Is it possible to use C++ shared objects for DLM's ?
>>> (I have to use some classes for my routine.)
>>>
>>> Thanks.
>>>
>>> K. Banerjee
>>>
>>>
>>>
>
>> You don't say what platform you are using, but I'll hazzard a guess that
>> it's Linux.
>>
>
>> Did you use g++ to link the DLM? It's generally a wise thing to use the
>> same tool to create a shared object as you use to compile the source.
>>
>
>> You could try linking the DLM with g++, or adding the the relevent c++
>> library to the link command - cerr is in one of the libraries called
>> /usr/lib/libstdc++..., the particular one depends on what version of g++
>> and libc you are using.
>>
>
> Yes, I am using g++ on Linux. Do you know off hand how to link
> with a shared object library? (libstdc++... is a shared object).
>
> Thanks.
>
> K. Banerjee
>
-l<library_name>, in this case <library_name> is stdc++<whatever>. I
don't know which stdc++ library you'll need; I have 5 in my /usr/lib and
I haven't a clue what each is for.
a shared object is just a library as far as the linker is concerned.
If you use g++ I would have thought that g++ would add the correct
library to the link command for you, though. Is there a reason you
prefer to use ld rather than g++?
If you really want to use ld, try using g++ first with the -v option so
it lists each command it executes. That should show you which libraries
it uses for the ld command.
--
-----------------------------------------------------------
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523568, Fax : +44 (0)116 2523555
|
|
|