【问题标题】:Boost Python (Suse and Ubuntu)提升 Python(Suse 和 Ubuntu)
【发布时间】:2011-03-28 00:29:43
【问题描述】:
我创建了一个简单的 .so 库,其中包含 C++ 类的定义,该类应从 Python 访问并用于此目的 boost python 库。
当我使用 x64 Ubuntu 测试这个库时,在运行 python 之前将 LD_LIBRARY_PATH 设置为提升库的路径就足够了。但是,当我使用 x64 Suse 时,它不起作用。
尽管我设置了 LD_LIBRARY_PATH,但 Python 似乎忽略了它。
Suse下有没有具体的设置环境变量的方法?
【问题讨论】:
标签:
c++
python
boost
ubuntu
suse
【解决方案1】:
您不应该设置LD_LIBRARY_PATH,请参阅here 和here。
首先,我必须假设您将 Boost 库安装在非标准位置,否则加载程序会自动找到它们。如果您对机器具有 root 访问权限,请将库安装在标准位置(例如,使用包管理器或 /usr/local/lib)。
如果您没有 root 权限,请改为设置运行路径。使用 gcc 链接器时,通过传递 -rpath 选项来执行此操作。 gcc 编译器可以通过-Wl 将选项传递给链接器。所以调用编译器如下:
g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ...