Обертывание контактов C с помощью SWIG
Вопрос
У меня есть файл заголовка C, содержащий определение следующего типа:
// example.h
typedef struct Vertex {
int color;
} Vertex;
Я стараюсь обернуть эту структуру SWIG, но, очевидно, я делаю что -то не так. Мой файл интерфейса SWIG выглядит как
// example.i
%module example
%inline %{
#include "example.h"
}
Но если я скопирую содержимое моего файла заголовка в мой файл интерфейса, чтобы последний выглядел как
%module example
%inline %{
typedef struct Vertex {
int color;
} Vertex;
%}
Я могу получить доступ к структуре из Ruby следующим образом
irb> require 'example'
# => true
irb> Examlpe::Vertex
# => Vertex
Есть ли способ автоматически обернуть файл заголовка? Я не хочу копировать и вставлять содержимое файла заголовка в файл интерфейса каждый раз, когда я его меняю.
Заранее спасибо за помощь.
- T6d
Решение
Прошло много времени с тех пор, как я использовал SWIG, но, как я помню, встроенный вход используется для прохождения встроенной части непосредственно компилятору; Сам глоток не видит этого, я думаю, что вам нужно:
%module example
%include<example.h>