Python目标包装C++类的SWIG错误
SWIG error for Python target wrapping C++ class
我正在尝试使用SWIG用Python(3.6.2)封装一个通过单个类访问的C++库。
C++库可以在这里找到:https://github.com/Navigator-Data/navdb-clients/tree/master/lang_clients/cpp_client
这是我的cpp_client_api.i文件:
/* File : cpp_client_api.i */
%module cpp_client_api
%{
#include "../cpp_client/cpp_client_api.hpp"
%}
%include "../cpp_client/cpp_client_api.hpp"
在生成.py文件后,我发现我必须重命名它,以使用下划线作为前缀。
当我使用新生成的.py文件运行测试Python程序时,我会得到以下错误:
python ./n*
Traceback (most recent call last):
File "./navdb_python_client_test.py", line 24, in <module>
from _cpp_client_api import CppClientApi
File "../_cpp_client_api.py", line 98, in <module>
class CppClientApi(_object):
File "../_cpp_client_api.py", line 135, in CppClientApi
__swig_destroy__ = _cpp_client_api.delete_CppClientApi
AttributeError: module '_cpp_client_api' has no attribute 'delete_CppClientApi'
看起来delete_CppClientApi是一个通用函数,用于调用类的析构函数。最初的类没有我专门编写的析构函数,我不确定这是否有问题。欢迎任何建议。
我最终使用distutils编译Swig包装器代码:
python setup.py build_ext--就地
Jason
相关文章:
- 从具有默认值的部分指定模板类继承时发生SWIG错误,具有不带默认值的正向声明
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- 错误:使用 SWIG 的未知类型名称"类"
- 方法 argv[] SWIG C++ / Python 中的错误,会发生什么?
- SWIG c++ 到 C# 错误找不到入口点SWIGRegisterExceptionCallbacks_xxxx
- 使用 swig 在 Python 中分段错误(核心转储),但当我更改变量名称时它可以工作
- Python 错误:在 SWIG 生成的C++模板化代码模块中没有定义构造函数
- Python目标包装C++类的SWIG错误
- SWIG:包装 std::map<key 时编译器错误,val *>
- 使用 SWIG 将 c++ 包装到 java 不满意的链接错误: HeaderJNI.new_Test()J.
- 模板包装时出现 SWIG 错误
- 使用SWIG生成的Python库时,向量分配器参数错误
- 使用 swig 时出错:输入 (1) 中的语法错误
- 导入 SWIG+python 模块时出现"undefined symbol"错误
- 在SWIG中包含OpenCV core.hpp时出现语法错误
- 编译时出现 -fPIC 和 Swig 错误
- Swig 界面中的类型映射错误
- 编译包装器时出现SWIG [C++ to Lisp(CFFI)]错误
- Swig错误-错误:输入(2)中的语法错误
- SWIG错误:已声明'extern'然后'静态'