java 生成 dll_java – 如何生成64位.dll gcc编译器或其他.无法在AMD 64位平台上加载IA 32位.dll...

嗨,我没有找到解决方案如何创建64位DLL.并使用它的本机c方法.我使用

Java代码metodynatywne.java:

class metodynatywne {

static {

System.loadLibrary("metodynatywne");

}

native public void sayHello();

public static void main (String argv[])

{

new metodynatywne().sayHello();

} }

然后使用生成metodynatywne.h

javah -jni metodynatywne

我写了metodynatywne.cpp代码:

#include

#include

#include "metodynatywne.h"

using namespace std;

JNIEXPORT void JNICALL

Java_metodynatywne_sayHello(JNIEnv * env, jobject self)

{

cout << "Hello World!" << endl;

}

我用gcc用命令创建了我的dll:

c:\>c++ -I c:\java7\include -I c:\java7\include\win32 -c metodynatywne.cpp

c:\>c++ -shared metodynatywne.o -o metodynatywne.dll

我得到的是错误信息:

c:\>java metodynatywne

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Programowanie\UJ\Semestr2\ZPG\PerfCount\cwiczenie\metodynatywne.dll: Can't lo

ad IA 32-bit .dll on a AMD 64-bit platform

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(Unknown Source)

at java.lang.ClassLoader.loadLibrary0(Unknown Source)

at java.lang.ClassLoader.loadLibrary(Unknown Source)

at java.lang.Runtime.loadLibrary0(Unknown Source)

at java.lang.System.loadLibrary(Unknown Source)

at metodynatywne.(metodynatywne.java:4)

我使用Java 1.4 32位javac编译器和java7 x64编译器两个metods给了我同样的错误.我该怎么处理?如果是,请使用另一个c编译器如何强制此编译器创建可用于我的java dll文件.我在Windows 7 64位上工作.

我如何从cpp文件制作64位dll(使用gcc)?还是其他命令行编译器?

非常感谢您提供的任何评论和帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值