ImportError when trying to import own C++ module
jdrugo at gmx.at
Sun Mar 7 22:56:20 CET 2004
I am trying to access a C++ class which is wrapped in a Python object from
another C++ class which is also wrapped in a Python object. I have used the
following file structure:
Declaration of AClass
typedef of PyObject containing AClass
Implementation of AClass
Python interface to access AClass
Declaration of BClass
Implementation of BClass
Python interface to access BClass
AClass has the methods
unsigned int value() const; // reading private value
void setValue(const unsiged int); // setting private value
BClass has the method
unsigned int value(const AClass* aclass) const; // returning aclass->value()
(remember: just a proof-of-concept)
I'm using DistUtils to compile the libraries. AClass.so links AClass.cpp and
PyAClass.cpp, BClass.so links BClass.cpp and AClass.cpp.
Using AClass in Python works without problems, importing BClass, however,
gives the following error:
>>> import BClass
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: ./BClass.so: undefined symbol: _ZNK6AClass5valueEv
BClass.so, however, seems to contain that symbol:
% nm BClass.so | grep _ZNK6AClass5valueEv
Any ideas what can go wrong there?
Any hints are appreciated
P.S.: I'm sorry if this question has been asked a thousand times. It is very
hard to search for in the archives as 'ImportError' is usually a bug in some
software and no solution is given to resolve it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 196 bytes
More information about the Python-list