各位,我用java通过jni调用vc的动态库,直接调用是可以的,但是当把java文件放在某个包里(在文件头最前面加package)就调用不了。
我在包外用javah生成头文件,javah  myClass 可以生成头文件,但是这样好象不行,我在网上查到如果是有包的话,应该这样生成头文件,javah myPackage.myClass 。但是我在控制台这样做,系统却提示我:
Error: Class myPackage.myClass could not be found.请问这是怎么回事,感激不静啊!

解决方案 »

  1.   

    如果直接这样写的话:javah  myClass ,JBuilder包错:UnsatisfiedLinkError: no testdll in java.library.path
      

  2.   

    如果有包名
    我的类是 a.b.Test,函数f()
    那么JNI中应该是Java_a_b_Test_f(....)但是如果直接这样写的话:javah  myClass,那么生成的JNI却是 Java_myClass_f();前面就没有包名了。但是我用javah myPackage.myClass,控制台却报错:Error: Class myPackage.myClass could not be found请我我该怎样使用 javah myPackage.myClass这个语句,是不是我哪里没有设置对
      

  3.   

    up--------------------------------
    有尝聘用JAVA版主
    详见:http//www.dvpx.com/forum.aspx
    有兴趣的朋友加我QQ: 8502928 OR MSN:[email protected]
      

  4.   

    现在用javah myPackage.myClass 问题已经解决了。
    但是在JBuilder中编译时,系统报异常:no test in java.library.path,其中test是我用VC做的dll。请问我该在系统中怎么设置java.library.path这个东西
      

  5.   

    写类时不用import,直接放到src下,dll放到path的某个路径下,比如system32
      

  6.   

    你用java.getPro***s()查下java.library.path在哪,就放在哪咯