0

我使用 SASL 制作了 Netbeans 工作环境。示例代码得到构建,它也可以从 Netbeans 正常运行。但是当我尝试从终端运行我的 exe 时,它​​不起作用。错误如下:

./cppapplication_1:加载共享库时出错:libanonymous.so.2:无法打开共享对象文件:没有这样的文件或目录

我尝试使用以下命令设置 PATH :

导出 PATH=/usr/lib64/sasl2/:$PATH

我仍然遇到同样的错误。我需要额外做些什么吗?

4

2 回答 2

1

你也可以试试这个。

ldd <name of executable>

您将看到依赖库及其预期路径。查看 lib 是否存在于可执行文件所期望的路径中。

于 2012-11-19T11:16:20.147 回答
1

您需要将路径添加libanonymous到环境变量LD_LOAD_LIBRARY

更新:

为此:

  1. 找到图书馆,例如做:find / -name "libanonymous.so.2"或通过locate libanonymous.so.2
  2. 添加找到的路径,如下所示:export LD_LOAD_LIBRARY=$LD_LOAD_LIBRARY:<path to lib>

更新1:

从您对Anon的回答的评论中,我看到有问题的库位于/usr/lib64/sasl2/.

所以你可能想像这样设置LD_LOAD_LIBRAY路径:

export LD_LOAD_LIBRARY=$LD_LOAD_LIBRARY:/usr/lib64/sasl2/

更新 2

这需要在同一个 shell 中完成,该 shell 稍后会执行需要库 ( cppapplication_1) 的程序。

cd <dir for cppapplication_1>; export LD_LOAD_LIBRARY=$LD_LOAD_LIBRARY:/usr/lib64/sasl2/; ./cppapplication_1
于 2012-11-19T11:30:03.943 回答