我创建了一个简单的.so库,其中包含一个C++类的定义,应该从Python中访问这个类,并为此使用boost Python库。当我使用python测试这个库时,在运行x64之前将LD_LIBRARY_PATH设置为boost libs的路径就足够了。但是,当我使用x64 Suse时,它不起作用。尽管我设置了LD_LIBRARY_PATH,但Python似乎忽略了它。
在Suse下有没有具体的设置环境变量的方法?
发布于 2010-08-11 03:51:09
您永远不应该设置LD_LIBRARY_PATH,请参见here和here。首先,我必须假设您将Boost库安装在非标准位置,否则加载程序会自动找到它们。如果您拥有对计算机的超级用户访问权限,请将库安装在标准位置(例如,使用包管理器,或在/usr/local/lib中)。
如果您没有root权限,请改为设置runpath。在使用gcc链接器时,请通过传递-rpath选项来执行此操作。gcc编译器可以通过-Wl将选项传递给链接器。因此,按如下方式调用编译器:
g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ...https://stackoverflow.com/questions/3452505
复制相似问题