В настоящее время я создаю модуль Python из кода C++ с помощью SWIG. Я достиг своей цели, но механизм импорта не совсем то, что мне нужно. Объясняю на небольшом примере. Если мой код C структурирован как:
Код: Выделить всё
/Element
/BigElement
/Element1.cpp
/Element1.h
/LittleElement
/Element2.cpp
/Elmeent2.h
В Element1.h у меня есть класс с именем element1.
В Element2.h у меня есть класс с именем element2.
В настоящее время Если я создам свой модуль Python, классы element1 и element2 будут доступны, выполнив что-то вроде (все находится на корневом уровне)
Есть ли способ сказать SWIG, чтобы он сохранял формат импорта на основе структуры моего кода C, тогда я мог бы импортировать свой элемент1, выполнив что-то вроде
Код: Выделить всё
from mymodule.Element.BigElement.Element1 import element1
Точность примера не важна, я просто хочу знать, есть ли способ сделать что-то подобное? Возможно, использование псевдонимов в файле интерфейса или опция SWIG?
Заранее спасибо
Подробнее здесь:
https://stackoverflow.com/questions/792 ... ted-by-swi