Java jna調用so文件報錯,錯誤提示是java.lang.UnsatisfiedLinkError: Unable to load library 'Encrypt': Native library (linux-x86-64/libEncrypt.so) not found in resource path。
排除so 64和32位問題,
排除so 依賴項缺失問題,
用c++調用該so可以成功執行
最后發現問題解決辦法是編譯so時需要增加stdc++的庫,即 -lstdc++ 。
這真是個大坑啊,jna調用為什么一定要加stdc++的庫,而純c++代碼調用確不用?有人知道可以告知一下。