我已经成功编译了该文件,但现在出现以下错误
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
我已经检查了库路径,仍然收到此错误。请向我建议好的解决方案以及一些概念性信息。
run: Prog.class invoke
export LD_LIBRARY_PATH=/opt/mcr/v717/sys/java/jre/glnxa64/jre/lib/amd64/server/:$LD_LIBRARY_PATH
./invoke
最佳答案
更仔细地查看你的输出:
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
。
关于java - 无法打开共享对象文件: No such file or directory error while run time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728162/