swig没有任何关于基类'std :: string'的知识,被忽略了

 高傲的辫子 发布于 2023-02-10 11:48

我正在尝试使用swig在c ++库周围构建ruby包装器.大部分似乎都有效,但我有一个问题,我很确定与上述警告有关.

它看起来像我正在包装的类之一继承自std :: string.

我跑swig时看到上面的警告信息.

当我在ruby中调用一个应该返回字符串的对象的方法时,我看到了这一点

痛饮:: Type_p_std__string:0X .....

我想我需要一些如何解决上述警告,使其工作,任何想法?

2 个回答
  • 每当你在SWIG输出中看到SWIG :: Type_p_std__string或类似的神秘类型时,就意味着缺少一个类型图.在这里,SWIG需要导出std :: string.通常这是因为它在函数调用参数中使用或作为导出函数的返回值使用; 在你的情况下,这是因为std :: string是一个基类.SWIG包含常用STL类(如字符串和向量)的字体图"库",您只需通过%include指令导入它.有关SWIG附带的其他.i,请访问http://www.swig.org/Doc2.0/Library.html.

    2023-02-10 11:50 回答
  • SWIG抱怨它不了解std :: string类,因此无法为其生成代码。

    SWIG库std_string.i具有特定于语言的代码,用于将c ++字符串映射到目标语言字符串类。%include "std_string.i" 生成类的代码之前添加应该可以修复该错误。

    请注意,这%include#includeswig接口文件中的不同。

    2023-02-10 11:50 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有