我正在尝试为供应商 C++ 库编写绑定。我已经成功地使用如下代码片段在其他模块中定义 init 函数,但在这个模块中它似乎不起作用:它编译得很好,但是当我尝试将其导入到测试中时就会抛出 ImportError脚本。这里可能出了什么问题?
#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
#define PyMODINIT_FUNC void
#endif
PyMODINIT_FUNC initclient(void) {
PyObject* m;
ClientType.tp_new = PyType_GenericNew;
if (PyType_Ready(&ClientType) < 0)
return;
m = Py_InitModule3("client", client_methods, "Client module");
Py_INCREF(&ClientType);
PyModule_AddObject(m, "Client", (PyObject *) &ClientType);
}
这是在 32 位 Linux 上,使用 gcc 4.4.4。
我遇到过同样的问题。编译时:
- Python 头的路径:确定
- Python 库的路径:确定
- 链接到 Python 库:好的
- 链接所需的第三方库/目标文件:好的
我只是忘记编译定义我的模块的 C 文件...唉...
所以,是的,首先要检查的是:你的 makefile 或你的编译命令! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)