用于字符串集

时间:2015-11-15 08:44:27

标签: c++ ruby stl swig

尝试将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>'

出了什么问题?

1 个答案:

答案 0 :(得分:0)

编辑:忽略我之前写的内容。

我认为您只需要在{* 1}}中访问ruby中的StringSetVector