64位的机子上生成了32位的dll

来源:互联网 发布:淘宝知识产权 编辑:程序博客网 时间:2024/05/06 09:30

Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\gvlib\gvlib.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

最近想玩JNA,在64位机子上装了一个vc6++,结果生成的是32位的dll

import com.sun.jna.NativeLibrary;import com.sun.jna.Pointer;public class tada {public static void main(String[] args) {// LoadLibrary("C:/Windows/System32/Sa7134Capture.dll");System.load("d:\\gvlib\\gvlib.dll");//上面这个gvlib.dll是用vc++6.0生成的,是32位的System.out.println("ok");Pointer p = NativeLibrary.getInstance("gvlib").getGlobalVariableAddress("gv");System.out.println(p.getInt(0));p.setInt(0, 25);System.out.println(p.getInt(0));}}

下面是我想调用的c

__declspec(dllexport) int gv = 0;

现在需要找一个64位的c编译器

参考:http://tutortutor.ca/cgi-bin/makepage.cgi?/articles/rjna

原创粉丝点击