ImportError when trying to import own C++ module

Jan Drugowitsch jdrugo at
Sun Mar 7 22:56:20 CET 2004

Hi everyone!

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

Including AClass.h
Implementation of AClass

Including AClass.h
Python interface to access AClass

Including AClass.h
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. links AClass.cpp and 
PyAClass.cpp, 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: ./ undefined symbol: _ZNK6AClass5valueEv, however, seems to contain that symbol:

% nm | grep _ZNK6AClass5valueEv
         U _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
Type: application/pgp-signature
Size: 196 bytes
Desc: signature
URL: <>

More information about the Python-list mailing list