2010-08-10 29 views
1

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

是否有任何具体的方式来设置Suse下的环境变量?

回答

0

您不应该设置LD_LIBRARY_PATH,请参阅herehere。 首先,我必须假设您将Boost库安装在非标准位置,否则加载器会自动找到它们。如果您有权访问本机,请将这些库安装在标准位置(例如使用软件包管理器或/usr/local/lib)。

如果您没有root权限,请改为设置运行路径。使用gcc链接器时,通过传递-rpath选项来完成此操作。 gcc编译器可以通过-Wl将选项传递给链接器。所以调用编译器如下:

g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ... 
+0

感谢您的提示! – user416513 2010-08-11 14:09:40