[c的JNI调用java导致分段错误(内核已转储)

问题描述 投票:1回答:1

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

并且我使用以下命令编译了cpp程序

g ++ -o libSample2 -fPIC-共享-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,但是我得到了“分段故障(核心已转储)”

任何想法?

c++ jvm java-native-interface segmentation-fault jvm-crash
1个回答
2
投票

谢谢,我知道了问题所在。我运行了此命令

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 jvmSample2.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 -ljvm -Wl,-rpath,/ usr / lib / jvm / java-7-openjdk-amd64 / jre / lib / amd64 / server-o sample2

并且信不信由你,这是导致问题的Ubuntu版本。由于某种原因,它不适用于上面的命令。

© www.soinside.com 2019 - 2024. All rights reserved.