根据web上的不同教程,我尝试使用SWIG用python编写c++类的包装器。在
我的班级是这样的:
/*file libraryInstance.h*/
struct LibraryInstance
{
void init();
void terminate();
private:
std::shared_ptr<AnObject> m_spAnObject;
};
对于python exposition,我制作了一个.I文件:
^{pr2}$然后我执行了命令swig -c++ -python -o ./src/libraryInstance_wrap.cpp ./src/libraryInstance.i
在没有任何输出错误的情况下,swig生成了两个文件libraryInstance_wrap.cpp
和{
然后我编译c++文件,包括libraryInstance_wrap.cpp
。所有的编译都很好,我得到了我的库。在
{{cd6>可以清楚地看到生成的开关:
cf. entire generated python wrapper here.
但是当我启动命令python LibraryInstance.py
,在与我的目录相同的目录中。因此我看到以下错误输出:
Traceback (most recent call last):
File "LibraryInstance.py", line 26, in <module>
_LibraryInstance = swig_import_helper()
File "LibraryInstance.py", line 18, in swig_import_helper
import _LibraryInstance
ImportError: No module named _LibraryInstance
当我看密码的时候LibraryInstance.py,看起来好像抛出了异常ImportError,python找不到该模块。(第18行)。在
你知道我该怎么纠正吗?在
在SWIG文档中,paragraph 31.2.2表示库的名称。因此应该是
_NameOfTheModule.so
所以我将我的库重命名为}。。。现在我的模块装载得很好。在
_LibraryInstance.so
,而不是{相关问题 更多 >
编程相关推荐