我已经成功编译了文件,但现在我收到了以下错误
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
答案 0 :(得分:0)
仔细查看输出结果:
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
,如果不明显的话。