Я использую SWIG для создания обертки C++ вокруг freetype. Моя цель - создать DLL для freetype для WinRT с интерфейсом C++, который будет работать на Windows Phone 8, однако, похоже, что созданная оболочка C++ зависит от Tcl. Поскольку мне не нужны привязки Tcl и что WinRT не предоставляет Tcl по умолчанию, мне было интересно, можно ли каким-либо образом отключить зависимости Tcl. Я использую Visual Studio 2012 для компиляции сгенерированного кода.
Я просмотрел документацию, и все, что я нашел, это переключатель -tcl, который добавляет привязки Tcl, которые, по-видимому, по умолчанию включены в оболочку C++, сгенерированную SWIG, в любом случае.
Я сгенерировал обертку, используя следующую команду: swig -Iinclude -C++ -o freetype_cppwrap.cpp freetype_swig.i
Я был бы признателен, если бы у кого-то были указатели на эту тему.
Нет типа вывода C++ для SWIG (не менее 2.0.11).
Опция -C++
описана как:
-c++ - Enable C++ processing
что означает, что SWIG обрабатывает конструкцию C++ в источниках.
Итак, что происходит в вашем случае, вы вызываете SWIG без какого-либо допустимого языка, который возвращается к языку по умолчанию (-tcl
).
Вероятно, SWIG является неправильным инструментом для работы, некоторые поисковые системы Google разрабатывают файлы VC Project для WinRT, которые включают в себя части или все freetype, возможно, вы можете использовать их в качестве вдохновения. (например, MuPDF)