gpt4 book ai didi

c++ - Swig、Python、C++ : TypeError: in method 'Geodatabase_Open' , 类型 'std::string' 的参数 2

转载 作者:行者123 更新时间:2023-11-30 02:08:52 26 4
gpt4 key购买 nike

我是 C++ 和 SWIG 的新手。这是我的第一个项目。

我能够使用 distutils 成功构建我的 Python 扩展。但是,当我尝试我的对象时,我不断收到此错误。

获取python字符串并转换为std::string似乎存在转换问题。

我在 Windows 7 上工作,使用 Visual Studio C++ 2008 Express

这是我的swig接口(interface)文件

/* swig interface file */
%module Geodatabase
%{
#include Geodatabase_helper.h
%}
namespace FileGeodatabase {
class Geodatabase {
public:
Geodatabase();
Geodatabase(std::string p);
~Geodatabase();
void Open(std::string p);
void Close();
};
}

最佳答案

根据swig documentation ,使用 std::string 需要 %include "std_string.i"

%module example
%include "std_string.i"

std::string foo();
void bar(const std::string &x);

关于c++ - Swig、Python、C++ : TypeError: in method 'Geodatabase_Open' , 类型 'std::string' 的参数 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com