[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using C++ DLM's With IDL?



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