【发布时间】:2013-12-16 04:53:51
【问题描述】:
我正在尝试围绕 c++ 库创建一些 ruby 包装器。 我已经完成了大部分工作,但我有一些警告要修复。
问题在于 2 个头文件,这里是代码片段
typedef std::set<WParm,std::less<WParm> > WParmlistType;
typedef WParmlistType::iterator WParmlistIter;
class WParmlist : public WParmlistType {
我收到的警告... 警告 401:对基类“WParmlistType”一无所知。忽略。
和第二个标题类似:
typedef std::vector<WString> WEditType;
typedef WEditType::iterator WEditIter;
class WEdit : public WEditType {
带有类似警告:
警告 401:对基类“WEditType”一无所知。忽略。
我以前见过这种类型的警告,但这与从 std::string 继承有关。这些导致了真正的问题,因为我无法获得返回的字符串值。我能够通过使用 %include std_string.i 来解决这个问题,这要归功于此处找到的答案:swig Nothing known about base class 'std::string', ignored。我在想在这种情况下我可能需要一些其他指令来处理 typedef。
【问题讨论】:
-
添加您尝试过的内容。你的问题没有表现出任何努力。
-
请注意我还可以添加什么。我在包含包含上述代码的标头的接口文件上运行 swig,我收到了这些警告。我真的不明白如何解决。这是我提出并得到回答的相关问题的链接,我会在那里继续这个问题,但我觉得这是一个单独的问题。 stackoverflow.com/questions/20602734/…
-
好吧,没有任何迹象表明您查看过 SWIG 文档或进行过网络搜索或在 SO 上搜索过类似您的问题。
-
是的,我确实花了很多时间阅读 swig 文档和搜索,我想我只是很兴奋开始在 ruby 中玩这个,并且没有在我的问题中提供足够的细节.起初我以为这整个努力都在我的脑海中,但最后它很容易。 SWIG 很酷,我一定会再次使用它!
-
我鼓励您编辑您的问题,以说明您所查看的与该问题相关的内容,并说明为什么我的回答没有回答您的问题,也许我可以编辑它。