2015-04-26 12 views
1

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

Работы отлично подходят для каждого языка sepratly.

+3

Прочтите документацию SWIG и выясните ее? –

ответ

3

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

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

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