2010-12-28 6 views
10

Мне нужно создать оболочку для классов FLTK C++, чтобы использовать ее в чистом C. Я знаю, что SWIG может это сделать, и я знаю, как создать оболочку для C#, Python и т. д. Но я не знаю, как обернуть C++ в C с помощью SWIG. Это простая задача, но я не могу найти ответ :) Пожалуйста, помогите.C++ to C Wrapper с использованием SWIG (для FLTK)

+0

Интересно, из чего я могу сказать из документации, SWIG генерирует C-оболочки для кода C++, должно быть возможно использовать их напрямую – Hasturkun

+0

Спасибо, но я не могу найти в документации информацию о том, как это сделать. Я продолжу поиск ... – Artem

+0

@Hasturkun: Я думаю, вы неверно истолковываете документацию. –

ответ

5

Я не думаю, что SWIG поддерживает создание оберток C из коробки. Вам всегда нужно указать целевой язык. В 2008 году был GSoC project, чтобы написать C backend, но это, по-видимому, никогда не было завершено/включено в SWIG.

+0

Я не думаю, что эта документация должна восприниматься буквально. Вместо этого это иллюстрирует, как выглядят функции обертки для каждого языка. Вместо 'new_list' генератор Python (например) генерирует' _wrap_new_List'; это становится доступным для Python как 'new_List'. '_wrap_new_List' делает больше, чем говорит документация, так как ему также необходимо интегрироваться с Python VM. –

+0

Теперь я тестирую SWIG с C backend. Скомпилирован Он успешно с mingw, но получил некоторые ошибки при анализе FLTK (например: FLTK13 \ FL \ filename.h (60): Ошибка: ошибка синтаксиса ввода (1).). Я сообщу результаты ... Спасибо за идею! – Artem

+0

Я решил пойти другим путем, чтобы решить мою проблему, но для проблемы, описанной выше, решение, предложенное Мартином, - лучшее решение, которое можно найти. Еще раз спасибо. – Artem

 Смежные вопросы

  • Нет связанных вопросов^_^