如何使用SWIG在C ++ API上生成C包装器?

时间:2011-11-28 23:19:54

标签: c++ c swig

我想使用SWIG在某些C ++ API上生成C包装器。

来自SWIG文档SWIG and C++

  

6.2方法

     

为了包装C ++,SWIG使用分层方法来生成代码。在最低级别,SWIG   生成过程ANSI-C样式包装器的集合。这些包装纸照顾   基本类型转换,类型检查,错误处理和其他低级细节   C ++>绑定。这些包装器也足以将C ++绑定到任何目标语言中   支持内置程序。从某种意义上说,您可以将此层包装视为   为C ++提供C库接口。

但是,我没有看到任何选择这样做,没有生成在Python,Ruby等语言中使用API​​的代码。我怎样才能获得C包装器?

1 个答案:

答案 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)