我正在使用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
如果有人对这个问题有一些指示,我将不胜感激。
答案 0 :(得分:1)
SWIG没有C ++输出类型(至少2.0.11)。
-c++
选项描述为:
-c++ - Enable C++ processing
这意味着SWIG在源代码中处理C ++构造。
那么在您的情况下会发生的情况是,您在没有选择任何有效语言的情况下调用SWIG,这会回退到默认语言切换(-tcl
)。
可能SWIG对于这项工作来说是错误的工具,一些谷歌搜索提出了WinRT的VC项目文件,包括部分或全部freetype,也许你可以使用它们作为灵感。 (例如MuPDF)