Search code examples
javajava-native-interfacejavah

How to use javah


I've just wasted 2 hours trying to do something which I've already done twice before. I can't remember the exact procedure I used the previous two times, but it really shouldn't be giving me this much trouble:

I have a project folder called "BoardGUIv3". I want to produce a header file based on a class called "CANController", with the source located in "BoardGUIv3/src/model" and the class file in "BoardGUIv3/bin/model".

I've done exactly this thing before, but for some reason I can't seem to do this simple, one-line command again.

I'm pretty sure it's something along the lines of

javah -classpath <classpath> src/model/CANController

My classpath should just be the root directory, shouldn't it?


Solution

  • Here is the javah command usage:

    {javahLocation} -o {outputFile} -classpath {classpath} {importName}
    

    and it should be used like this for you class:

    javah -o "CANController.h" -classpath "C:\pathToYourProjDir\BoardGUIv3\bin" model.CANController
    

    Just correct the path to your classfile with the real path and the package structure if required.