C ++ SWIG根据Tcl生成代码

时间:2013-10-08 09:44:27

标签: c++ visual-studio tcl wrapper swig

我正在使用SWIG生成围绕freetype的C ++包装器。我的目标是为WinRT生成一个freetype DLL,它具有可在Windows Phone 8上运行的C ++接口,但是,生成的C ++包装器似乎依赖于Tcl。由于我不需要Tcl绑定,并且WinRT默认情况下不提供Tcl,我想知道是否可以以某种方式关闭Tcl依赖项。我正在使用Visual Studio 2012来编译生成的代码。

我查看了文档,我发现的是-tcl开关,它添加了Tcl绑定,这些绑定似乎默认包含在SWIG生成的C ++包装器中。

我使用以下命令生成了包装器: swig -Iinclude -c++ -o freetype_cppwrap.cpp freetype_swig.i

如果有人对这个问题有一些指示,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

SWIG没有C ++输出类型(至少2.0.11)。

-c++选项描述为:

 -c++            - Enable C++ processing

这意味着SWIG在源代码中处理C ++构造。

那么在您的情况下会发生的情况是,您在没有选择任何有效语言的情况下调用SWIG,这会回退到默认语言切换(-tcl)。

可能SWIG对于这项工作来说是错误的工具,一些谷歌搜索提出了WinRT的VC项目文件,包括部分或全部freetype,也许你可以使用它们作为灵感。 (例如MuPDF