SWIG src和共享lib文件的位置

时间:2015-10-16 14:05:50

标签: python c shared-libraries swig

我正在使用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); } 的副本,那就可以了。

1 个答案:

答案 0 :(得分:1)

想出问题,必须在example.py中指定_example.so 的位置和 PYTHONPATH的位置。

example.py上的PYTHONPATH_example.so上的LD_LIBRARY_PATH不是我错误的假设。

一旦更正,Import Module Error停止了

然后我开始收到undefined symbol错误,但那是一个不同的问题..