Это не имеет ничего общего с SWIG, но с тем, как Visual C ++ генерирует его двоичный вывод.
Инструмент mt.exe не генерирует файл манифеста, он встраивает информацию из файла манифеста, который уже существует (я думаю, что компоновщик создал бы его) в выходной DLL. Без этого выходная DLL может работать только тогда, когда файл манифеста располагается вдоль DLL в том же каталоге.
(Примечание: я никогда не задумывался о том, чтобы копать глубже в отношении манифестов, какая именно информация там находится и нужна ли вся информация там постоянно, но так как все это делается автоматически, когда вы создаете exe или dll в VC ++ не нужно сразу беспокоиться, если что-то не работает: -)