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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章