我一直在努力让我的库 c++ Lavish 使用 swig 与 ruby 一起工作。问题是只能使用我包含在接口文件中的一些类,并且在编译包或加载 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
我可以在 C++ 中创建 Display 对象,并且我已经在 swig 接口文件中包含了标头,所以我不知道在哪里寻找错误的地方。
有任何想法吗?