У меня есть простой C API (N
простые функции). Я хочу обернуть его в C #, Java и Python одновременно. Как позвонить в SWIG для создания оболочки для нескольких языков одновременно?
Что-то вроде этого
swig.exe -c ++ -csharp -java -namespace Bla outdir ./ -o ./BlaAPIWrapper.cxx BlaAPI.i
приводит к давлению приложения Swig
Assertion failed: !this_, file Modules/lang.cxx, line 332
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Работает нормально для каждого языка отдельно.
Просто вызовите его несколько раз с разными параметрами, один для Java, другой для C # и т. Д.
Возможно, вам понадобится какой-нибудь сценарий оболочки, чтобы автоматизировать это, но как только вы создадите сценарий, который генерирует оболочку, просто вызовите сценарий.
Это, наверное, самое простое решение, если swig
не допускайте одновременного использования нескольких языков, или если эта функция присутствует, но содержит ошибки (или если она присутствует, но недокументирована, и вы не смогли ее использовать, поскольку упустили важную информацию).