请教大虾,使用GCC生成的DLL在WINDOWS下为什么不能被JNI使用,使用VC++生成的DLL就可以???

解决方案 »

  1.   

    有哪位大虾知道啊?非常感谢~,调用的时候发现也不抱错误,System.loadLibrary("testLib");无法运行下去
      

  2.   

    GCC?你的C程序是window程序吗?头文件,库文件都对了吗?是在window下用GCC编译生成的dll吗(不是虚拟机像Cygwin的那种)?
      

  3.   

    mingw的话试一下编译选项加上--kill-at
    cygwin的话要拖着哪些cygwin的dll的当然如果实在linux下编译的库文件话……自然跑不起来
      

  4.   

    jni中的函数是特定的,你dll中函数如果只是普通的C++或C得函数,肯定不行的
    你调用时是不是抛出unsatisfactLinkError,如果是这个就说明你dll中没有对应的这个函数
      

  5.   


    lz说用vc编译的可以说明lz肯定知道怎么去编写jni所调用的dll文件
    我以前也遇到过mingw编译的库文件调用失败,当时解决方法是加上--kill-at编译选项就可以了