Как создать оболочку, которая будет работать для нескольких языков одновременно?

У меня есть простой 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.

Работает нормально для каждого языка отдельно.

1

Решение

Просто вызовите его несколько раз с разными параметрами, один для Java, другой для C # и т. Д.

Возможно, вам понадобится какой-нибудь сценарий оболочки, чтобы автоматизировать это, но как только вы создадите сценарий, который генерирует оболочку, просто вызовите сценарий.

Это, наверное, самое простое решение, если swig не допускайте одновременного использования нескольких языков, или если эта функция присутствует, но содержит ошибки (или если она присутствует, но недокументирована, и вы не смогли ее использовать, поскольку упустили важную информацию).

3

Другие решения


По вопросам рекламы [email protected]