Проверка типов в расширениях Python (в двух модулях)

Модератор: Модераторы разделов

Аватара пользователя
Skladnoy
Сообщения: 90
ОС: Debian

Проверка типов в расширениях Python

Сообщение Skladnoy »

Столкнулся я со следующей проблемой:

Есть два модуля для питона написанные на С++. module1 и module2. В module1 определен класс питона Foo, тип которого описывает PyTypeObject Foo_Type; И тут все замечательно работает.

Проблемы возникают в module2. В его функциях нужно проверять тип передаваемых параметров. Если они имеют тип Foo, для этого нужен Foo_Type. Но как его добыть? Вариант с extern PyTypeObject Foo_Type; в заголовочном файле не прокатывает. Все собирается, но...

Код: Выделить всё

>>> import module2;
ImportError: ..../module2.so: undefined symbol: Foo_Type


Вопрос как быть?
Спасибо сказали: