Exception in thread .........(Ljava/lang/String;)Z

java调用dll出现:

Exception in thread "main" java.lang.UnsatisfiedLinkError: ... (Ljava/lang/String;)Z


解决方案:
在c++头文件和cpp文件里查看有没有如下相关代码:
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
#endif

如果没有需要添加该内容,即可


Exception in thread "main" java.lang.UnsatisfiedLinkError: ... Ljava/lang/String;
解决方案:
如果是通过命令行编译生成的dll,那么此时你需要查看下相关的编译命令:

g++ -c -I"D:\Program Files\Java\jdk1.6.0_10\include" -I"D:\Program Files\Java\jdk1.6.0_10\include\win32" -o Invoke.o Invoke.cpp

g++ -I"D:\Program Files\Java\jdk1.6.0_10\include" -Wl ,--add-stdcall-alias -shared -o Invoke.dll Invoke.o
注意 红色的逗号不能少

你可能感兴趣的:(java,thread,C++,c,C#)