Вопрос

У меня есть файл заголовка 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top