簡體   English   中英

Java JNI:指定依賴共享庫的路徑

[英]Java JNI: Specify path to dependent shared library

我構建了一個 JNI 庫libmyjni.dylib並且它與libthirdparty.dylib鏈接。 在啟動我的 Java 應用程序時,我設置了-Djava.library.path=/path/to/native/libs但該路徑未用於加載libthirdparty.dylib Java 總是在<project_root>/lib文件夾下尋找libthirdparty.dylib 我設置什么參數以便在與java.library.path相同的路徑中查找libthirdparty.dylib

如果我不將libthirdparty.dylib放在<project_root>/lib下,則會出現此錯誤。 我還嘗試使用 int 中libthirdparty.dylib路徑創建/etc/ld.so.conf但這也無濟於事。

java.lang.UnsatisfiedLinkError: <java_library_path>/libmyjni.dylib: dlopen(<java_library_path>/libmyjni.dylib, 1): Library not loaded: lib/libthirdparty.dylib
  Referenced from: <java_library_path>/libmyjni.dylib
  Reason: image not found

java.library.path僅用於 JNI 庫,而不是它們依賴的庫。 系統路徑用於那些與系統相關的:設置PATHLD_LIBRARY_PATHDYLD_LIBRARY_PATH (分別在 Windows、Linux 或 OSX 上)

基於@user207421 和@CHmoonKa 對該問題的評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM