Netbeans EXE在从终端 - CentOs执行时不起作用

时间:2012-11-19 11:08:28

标签: c linux netbeans centos sasl

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

  

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

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

  

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

我仍然得到同样的错误。我还需要做额外的事吗?

2 个答案:

答案 0 :(得分:1)

您也可以试试这个。

ldd <name of executable>

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

答案 1 :(得分: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>
  3. 更新1:

    从你的评论到 Anon 的回答我看到有问题的lib位于/usr/lib64/sasl2/下。

    所以你可能希望设置LD_LOAD_LIBRAY路径:

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

    更新2

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

    cd <dir for cppapplication_1>; export LD_LOAD_LIBRARY=$LD_LOAD_LIBRARY:/usr/lib64/sasl2/; ./cppapplication_1