我有一个简单的 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# 等。
您可能需要一些 shell 脚本来自动执行此操作,但是一旦您创建了生成包装器的脚本,只需调用该脚本即可。
如果 swig
不允许同时使用多种语言,或者如果该功能存在但存在错误(或者如果它存在但未记录且您无法使用),这可能是最简单的解决方案因为缺少重要信息)。
关于c++ - 如何创建同时适用于多种语言的包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29872714/