JNI开发-加载动态库错误之undefined symbol:

以下错误均是编译、链接正常,但是用System.load("XXX");加载libXXX.so库时会出现

1、Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/zhangyg/clibs/librdp.so: /home/zhangyg/clibs/libXXX.so: undefined symbol: SHA1_Init

连接动态库时加上-lssl,如下:

ld -shared -lssl $(OBJECTS) -o $(SHARED_LIB)

2、Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/zhangyg/clibs/librdp.so: /home/zhangyg/clibs/libXXX.so: undefined symbol: stat

生成动态库时不用ld,而用gcc,如下

gcc  -shared -lssl $(OBJECTS) -o $(SHARED_LIB)

你可能感兴趣的:(jni,jni,JavaSE,JavaSE,JavaSE,JavaSE,动态链接库.so)