2

当我在我的 linux(64 位)上使用 javavm 时,我收到错误:.../amd64/server/libjvm.so:文件无法识别:文件 fromat 无法识别。

我无法搜索有关此的任何有用信息。

将 Linux 上的 JNI 库与 Java 7 JDK 链接

g++ -L$MYJDK/jre/lib/amd64/server -ljvm touch.o -o testjdk
/tc_work/dsd/testjdk7/jdk1.7.0_02/jre/lib/amd64/server/libjvm.so: file not recognized: File format not recognized

file $MYJDK/jre/lib/amd64/server/libjvm.so 
/tc_work/dsd/testjdk7/jdk1.7.0_02/jre/lib/amd64/server/libjvm.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped

nm $MYJDK/jre/lib/amd64/server/libjvm.so 
nm: /tc_work/dsd/testjdk7/jdk1.7.0_02/jre/lib/amd64/server/libjvm.so: File format not recognized
4

1 回答 1

0

我想你遇到了这个错误:http ://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7152237 ,另见https://stackoverflow.com/questions/9619513/linking-jni-lib-on- linux-with-java-7-jdk。如果可能的话,我建议将您的工具链 (g++) 升级到更新的版本。

于 2012-10-16T09:11:21.140 回答