我有一个简单的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.
每种语言都能正常工作。
答案 0 :(得分:3)
使用不同的参数多次调用它,一个用于Java,一个用于C#等。
您可能需要一些shell脚本来自动执行该操作,但是一旦创建了生成包装器的脚本,就只需调用脚本。
如果swig
不允许一次使用多种语言,或者如果该功能存在但有问题(或者如果它存在但未记录但您不是),这可能是最简单的解决方案因为缺少重要信息而能够使用它。)