Ответ 1
SWIG всегда генерирует оболочки деструктора (если не используется директива %nodefaultdtor
). Однако в случае, если он ничего не знает о типе, он создаст непрозрачную оболочку указателя, которая вызовет утечки (и вышеприведенное сообщение).
Пожалуйста, убедитесь, что myDataType
- это тип, известный SWIG. Повторно запустите SWIG с включенными сообщениями отладки и проверьте все сообщения, похожие на
Nothing is known about Foo base type - Bar. Ignored
Получение сообщения, как указано выше, означает, что SWIG не знает вашу иерархию типов в полной мере и, следовательно, работает с ограниченной информацией, что может привести к ее не генерации dtor.