0

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

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

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

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

4

1 回答 1

1

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

-c++选项描述为:

 -c++            - Enable C++ processing

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

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

可能 SWIG 是不适合这项工作的工具,一些谷歌搜索提供了用于 WinRT 的 VC 项目文件,其中包括部分或全部 freetype,也许您可​​以将它们用作灵感。(例如MuPDF

于 2013-10-08T19:56:23.367 回答