c++ - swig 对基类 'std::string' 一无所知,忽略

标签 c++ ruby swig

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

看起来我正在包装的类之一是从 std::string 继承的。

我在运行 swig 时看到上面的警告消息。

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

SWIG::Type_p_std__string:0x.....

我在想我需要解决上面的警告,让它起作用,有什么想法吗?

最佳答案

SWIG 提示它不知道 std::string 类,因此无法为其生成代码。

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

请注意 %include 与 swig 接口(interface)文件中的 #include 不同。

关于c++ - swig 对基类 'std::string' 一无所知,忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602734/

相关文章:

java - 动态生成变量名

c++ - Qt 5.1 - 带 LAMPP 的 MySQL 驱动程序

c++ - 查看字符串变量时,调试器显示 npos=4294967295

java - 如何将 java 函数指针传递给 C++ native 代码

PHP & C++ 获取用户 IP

ruby-on-rails - Assets 管道的主题支持

ruby - 如何在 2 个其他已包含的模块之间混合 ruby​​ 模块?

ruby - Ruby 中的动态常量分配

python - 何时使用 new.instancemethod 与将方法分配给类

c++ - 使用 SWIG 包装 Octave 的 C++ API