我是C ++和SWIG的新手。这是我的第一个项目。
我能够使用distutils成功构建我的Python扩展。但是,当我尝试我的对象时,我不断收到此错误。
似乎从获取python字符串并将其转换为std :: string存在转换问题。
我正在使用Visual Studio C ++ 2008 Express
在Windows 7上工作这是我的swig界面文件
/* 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();
};
}
答案 0 :(得分:4)
根据swig documentation,使用std::string
需要%include "std_string.i"
。
%module example
%include "std_string.i"
std::string foo();
void bar(const std::string &x);