C ++ SWIG генерирует код в зависимости от Tcl

0

Я использую 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

Я был бы признателен, если бы у кого-то были указатели на эту тему.

Теги:
visual-studio
swig
tcl
wrapper

1 ответ

1
Лучший ответ

Нет типа вывода C++ для SWIG (не менее 2.0.11).

Опция -C++ описана как:

 -c++            - Enable C++ processing

что означает, что SWIG обрабатывает конструкцию C++ в источниках.

Итак, что происходит в вашем случае, вы вызываете SWIG без какого-либо допустимого языка, который возвращается к языку по умолчанию (-tcl).

Вероятно, SWIG является неправильным инструментом для работы, некоторые поисковые системы Google разрабатывают файлы VC Project для WinRT, которые включают в себя части или все freetype, возможно, вы можете использовать их в качестве вдохновения. (например, MuPDF)

  • 0
    Большое спасибо за ваш ответ. Я не понимал, что SWIG не выводит C ++, спасибо за указание на это. Позор мне, что я сам этого не нашел. Я некоторое время смотрел на проекты Windows Phone 8, использующие freetype, и не нашел ни одного, который бы использовал freetype из управляемого (C #) кода. Это именно то, что я хочу сделать. Я не могу получить проект, который вы связываете с работой. Кроме того, я не смог найти альтернативу SWIG, которая бы генерировала класс-оболочку C ++ из кода C. Оболочка C ++ показалась мне самым простым способом вызова функций C из управляемого кода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню