我想使用SWIG在某些C ++ API上生成C包装器。
来自SWIG文档SWIG and C++:
6.2方法
为了包装C ++,SWIG使用分层方法来生成代码。在最低级别,SWIG 生成过程ANSI-C样式包装器的集合。这些包装纸照顾 基本类型转换,类型检查,错误处理和其他低级细节 C ++>绑定。这些包装器也足以将C ++绑定到任何目标语言中 支持内置程序。从某种意义上说,您可以将此层包装视为 为C ++提供C库接口。
但是,我没有看到任何选择这样做,没有生成在Python,Ruby等语言中使用API的代码。我怎样才能获得C包装器?
答案 0 :(得分:12)
虽然SWIG的主分支无法为C ++ API生成C包装器(问题中引用的SWIG文档有点误导),但在Google Summer of Code 2008期间创建了一个SWIG分支,可在https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd/处获得就是这样。我在这里找到了答案:C++ to C Wrapper using SWIG (for FLTK)