我正在使用SWIG来使用python中的一些C函数
我的平台是linux / ubuntu
我已成功生成_example.so
文件并构建了_example.so
共享库
现在问题是让python找到' ~/.bashrc
文件
我正尝试通过我的export PYTHONPATH="${PYTHONPATH}:/home/me/swig_project/src/"
文件
我已经包含了包含example.py的目录,即
_example.so
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/me/swig_project/build/"
位于单独的构建目录中,所以我也设置了:
echo $LD_LIBRARY_PATH
echo $PYTHONPATH
当我从cmd行运行以下内容时,我可以看到预期的dirs存在,即
ldconfig
我已经重新运行ImportError: No module named _example
几次,因为我认为这可能是问题,我也已退出并重新登录。
但我仍然收到错误:
import example
所以我的python代码带有import语句:
example.py
发现_example.so
没有问题,但似乎无法找到_example.so
即使我已将包含LD_LIBRARY_PATH
的目录添加到_example.so
如果我在curr目录中粘贴了std::queue<A> copyQueue;
std::queue<A*> pointerQueue;
void addCopy(A a) {
copyQueue.add(a);
}
void addPointer(A a) {
pointerQueue.add(&a);
}
的副本,那就可以了。
答案 0 :(得分:1)
想出问题,必须在example.py
中指定_example.so
的位置和 PYTHONPATH
的位置。
example.py
上的PYTHONPATH
和_example.so
上的LD_LIBRARY_PATH
不是我错误的假设。
一旦更正,Import Module Error
停止了
然后我开始收到undefined symbol
错误,但那是一个不同的问题..