JNI从c调用java得到Segmentation fault(core dumped)

时间:2013-02-05 08:01:37

标签: c++ jvm java-native-interface segmentation-fault jvm-crash

我遵循了本教程 http://www.ibm.com/developerworks/java/tutorials/j-jni/section3.html

我使用了编译cpp程序 g ++ -o libSample2 -fPIC -shared -I / usr / lib / jvm / java-1.7.0-openjdk-amd64 / include -I / usr / lib / jvm / java-1.7.0-openjdk-amd64 / include / linux / Sample2.cpp

我试图运行./libSample2但是我得到了 “分段错误(核心转储)”

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

谢谢你们,我想出了问题所在。 我跑了这个命令 g ++ -I / usr / lib / jvm / java-7-openjdk-amd64 / include -I / usr / lib / jvm / java-7-openjdk-amd64 / include / linux / -L / usr / lib / jvm / java -7-openjdk-amd64 / jre / lib / amd64 / server -l jvm Sample2.cpp

它不起作用。然后我运行它如下

g ++ -I / usr / lib / jvm / java-7-openjdk-amd64 / include -I / usr / lib / jvm / java-7-openjdk-amd64 / include / linux / -L / usr / lib / jvm / java-7-openjdk-amd64 / jre / lib / amd64 / server Sample2.cpp -l jvm -Wl,-rpath,/ usr / lib / jvm / java-7-openjdk-amd64 / jre / lib / amd64 / server -o sample2

并且信不信由你,Ubuntu版本导致了这个问题。出于某种原因,它不适用于上述命令。