我遇到了SWIG和python的问题。我有一个正确编译的c-class,但是python脚本说它无法找到模块。
我编译:
swig -c++ -python codes/codes.i
g++ -c -Wall -O4 -fPIC -pedantic codes/*.cc
g++ -I/usr/include/python2.6 -shared codes/codes_wrap.cxx *.o -o _codes.so
这给了我一个_codes.so文件,正如我所料,但后来我有了这个python文件:
import sys
import codes
(rest of the code omitted)
它给了我:
Traceback (most recent call last):
File "script.py", line 3, in <module>
import codes
ImportError: No module named codes
根据http://www.swig.org/Doc1.3/Introduction.html#Introduction_nn8,这是我应该做的全部...... 这些文件位于同一目录中,因此该路径应该不是问题吗?
答案 0 :(得分:0)
上次我使用SWIG时,它生成了两个文件。在你的情况下,它应该是codes.py和_codes.so
您应该检查为什么codes.py不存在。
答案 1 :(得分:0)
如果从同一个地方(目录)执行这些命令,_codes.so最终会进入。和codes.py以./codes/结尾,我想。
答案 2 :(得分:0)
如果_codes.so是发布版本,则将其重命名为_codes.pyd。重命名为_codes_d.pyd以进行调试构建。
HTH