Я работал над тем, чтобы моя библиотека С++ Lavish работала с рубином, используя swig. Проблема в том, что можно использовать только некоторые из классов, которые я включил в файл интерфейса, и я не получаю ошибок во время компиляции пакета или загрузки в ruby. Мой файл интерфейса swig можно посмотреть здесь.
Пример того, что работает, а что нет.
sean$ irb
>> require "lavish"
=> true
>> v1 = Lavish::Vector2.new(1,2)
=> #<Lavish::Vector2:0x1011a25a0>
>> puts v1.x
1.0
=> nil
>> display = Lavish::Display.new
dyld: lazy symbol binding failed: Symbol not found: __ZN6lavish7DisplayC1Ev
Referenced from: /Users/seanc/Desktop/Lavish/samples/ruby/Tutorial 2 - Displaying A Triangle/lavish.bundle
Expected in: flat namespace
dyld: Symbol not found: __ZN6lavish7DisplayC1Ev
Referenced from: /Users/seanc/Desktop/Lavish/samples/ruby/Tutorial 2 - Displaying A Triangle/lavish.bundle
Expected in: flat namespace
Trace/BPT trap
Я могу создать объект Display на C++, и я включил заголовок в файл интерфейса swig, поэтому я не знаю, где искать, что не так.
Любые идеи?