尝试将SWIG用于ruby
我的.i文件
%module example
%{
#include "classifier.h"
%}
%include "std_vector.i"
%include "std_set.i"
%include "std_string.i"
%template(StringSetVector) std::vector<set<string> >;
%include "classifier.h"
我已成功使用
进行编译swig -c++ -ruby example.i
g++ -c example_wrap.cxx -I/Users/me/.rbenv/versions/2.2.0/include/ruby-2.2.0
g++ -bundle -flat_namespace -undefined suppress {OBJS} example_wrap.o -o example.bundle
我能够成功地要求捆绑,但不能要求模板。
$ irb
irb(main):001:0> require './example.bundle'
=> true
irb(main):002:0> include StringSetVector
NameError: uninitialized constant StringSetVector
from (irb):2
from /Users/me/.rbenv/versions/2.2.0/bin/irb:11:in `<main>'
出了什么问题?
答案 0 :(得分:0)
我认为您只需要在{* 1}}中访问ruby中的StringSetVector
。