【问题标题】:Getting cannot open shared object file: No such file or directory error while run time获取无法打开共享对象文件:运行时没有此类文件或目录错误
【发布时间】:2014-11-04 05:13:38
【问题描述】:

我已成功编译文件,但现在出现以下错误

export LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:D_LIBRARY_PATH
./invoke
./invoke: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory
make: *** [run] Error 127

我检查了 library path ,仍然收到此错误。请建议我很好的解决方案以及一些概念信息。

run: Prog.class invoke
        export LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:$LD_LIBRARY_PATH
        ./invoke

【问题讨论】:

    标签: java c linux debugging gcc


    【解决方案1】:

    更仔细地查看你的输出:

    export LD_LIBRARY_PATH=/opt/...blah...:D_LIBRARY_PATH
                                           ^
    here-----------------------------------'
    

    Make 已将 $L 解释为 make 变量,并使用空字符串对其进行扩展。

    另一个问题是从子shell中导出变量可能是无效的。

    您需要将$“转义”为$$,并将两者合并为一个命令:

    run: Prog.class invoke
            env LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:$$LD_LIBRARY_PATH ./invoke
    

    注意:如果不明显,我已将 export 更改为 env

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 2018-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      相关资源
      最近更新 更多