Обтекание C строит с SWIG - PullRequest
       12

Обтекание C строит с SWIG

1 голос
/ 09 ноября 2009

У меня есть заголовочный файл 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

1 Ответ

3 голосов
/ 09 ноября 2009

Прошло много времени с тех пор, как я использовал Swig, но, насколько я помню,% inline используется для передачи через встроенную часть непосредственно в компилятор; Сам Swig этого не видит, я думаю, что вам нужно:

%module example
%include<example.h>
...