不对吧,我记得声成的函数名应该为 :java_JavaStudy_jni_MessageBox,大概是这样的。你的javah运行的有问题吧

解决方案 »

  1.   

    终于有人来回答了,感谢 yys79(shart-shoot) .我的javah 命令是这样的:
    这个程序放在C:盘,javah -classpath c:\JavaStudy\jni DllTest 然后产生DllTest.h.
    我也是这样想,为什么我的生成的函数就是外名字名而不是网上大家介绍的那种呢?请赐教。
      

  2.   

    我看到你的类有个包,但是你编译的.h文件却没有这个包,关键问题
    JNIEXPORT void JNICALL Java_DllTest_MessageBox正确的应该为
    JNIEXPORT void JNICALL Java_JavaStudy_jni
    _DllTest_MessageBox
    当时我也是在doc下编译的,和你的情况一样
    后来我用jbuilder重新编译,成功了,关键还是生成的.h文件不对
      

  3.   

    javah -classpath c:\ DllTest应该这样.