gpt4 book ai didi

java - 生成不同包中的JNI头文件

转载 作者:行者123 更新时间:2023-12-02 07:24:44 25 4
gpt4 key购买 nike

如果我将所有 .java 和 .class 文件放在一个地方(即在默认包中),那么一切都正常,我会执行所有 JNI 操作等。但在这种情况下,我有 package-ception(很多目录),我的类和 Java 文件被分隔在 /bin/src 等中。我需要生成头文件,但我总是收到错误。我尝试了很多命令,我看到了不同的教程。我已经别无选择了。所以我的项目位于 c://gvk/SEP3 中,然后带有我要使用的 native 方法的类和 Java 文件位于 /bin/CalculatorServer/src/CalculatorServer

我一直从包含 native 方法的类文件所在的目录运行 javah 命令。到目前为止我尝试过的命令是:

javah -d ./CalculatorServer NativeMethodsCalculator

错误:找不到“NativeMethodsCalculator”的类文件。

javah -d ./CalculatorServer CalculatorServer.NativeMethodsCalculator

错误:找不到“CalculatorServer.NativeMethodsCalculator”的类文件。

javah -d c://gvk/SEP3/bin/CalculatorServer -classpath c://gvk/SEP3/bin/CalculatorServer NativeMethodsCalculator

错误:找不到“NativeMethodsCalculator”的类文件。

javah -classpath c://gvk/SEP3/bin/CalculatorServer -o NativeMethodsCalc.h src.CalculatorServer.NativeMethodsCalculator

错误:找不到“src.CalculatorServer.NativeMethodsCalculator”的类文件。

javah -jni bin.CalculatorServer.NativeMethodsCalculator

错误:找不到“bin.CalculatorServer.NativeMethodsCalculator”的类文件。

最佳答案

您没有尝试的操作:仅转到 /bin/(进入 CalculatorServer)并运行

javah -jni CalculatorServer.NativeMethodsCalculator

这是运行它的唯一方法。只要看看javah doc 。它在概要中显示“完全限定类名”。 “完全限定”表示完整类路径。你只给了它类名。到目前为止,它对您有用只是因为您使用的是默认包,这意味着您的完全限定类名等于裸类名。

选项-d-o不影响类查找,只影响 native 结果的存储。您尝试过的所有变体都不会改变您的错误。

关于java - 生成不同包中的JNI头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13693536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com