1

我创建了一个简单的 .so 库,其中包含一个 C++ 类的定义,该类应该从 Python 访问并用于此目的 boost python 库。当我使用 x64 Ubuntu 测试这个库时,在运行 python 之前将 LD_LIBRARY_PATH 设置为提升库的路径就足够了。但是,当我使用 x64 Suse 时,它​​不起作用。尽管我正在设置 LD_LIBRARY_PATH ,但 Python 似乎忽略了它。

Suse下有什么具体的设置环境变量的方法吗?

4

1 回答 1

0

你不应该设置LD_LIBRARY_PATH,看这里这里。首先,我必须假设您将 Boost 库安装在非标准位置,否则加载程序会自动找到它们。如果您对机器有 root 访问权限,请将库安装在标准位置(例如,使用包管理器,或在 中/usr/local/lib)。

如果您没有 root 权限,请改为设置运行路径。当使用 gcc 链接器时,通过传递一个-rpath选项来做到这一点。gcc 编译器可以通过-Wl. 所以调用编译器如下:

g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ...
于 2010-08-10T19:51:08.537 回答