[英]Using jogl in runnable jar, manual loading of dll
我正在使用jogl庫在程序中繪制漂亮的3D圖。 要在可運行的jar中使用它,我使用眾所周知的技巧從其中復制dll並將其放置在臨時位置(有關詳細信息,請參見此問題 ,也適用於下面提到的loadLib函數)
問題是我一直收到不滿意的鏈接錯誤:
static {
mylogger().info("Loading jogl DLL");
// we need to put both DLLs to temp dir
String path = "MYAPP_" + new Date().getTime();
try {
loadLib(path, "gluegen-rt");
loadLib(path, "jogl");
loadLib(path, "jogl_cg");
loadLib(path, "jogl_awt");
libraryLoaded = true;
} catch(UnsatisfiedLinkError e) {
mylogger().error("Cannot load JOGL libraries: "+e.getMessage());
}
}
那么,所包含庫的順序是否有問題? 如何找出未滿足的鏈接錯誤的原因?
如果使用JogAmp“胖子”布局,則JOGL和Gluegen將從可運行的jar內查找並加載本機庫。
在jar中使用以下布局:
/natives/<os.and.arch>/libLala1.so
/natives/<os.and.arch>/libLala2.so
https://jogamp.org/wiki/index.php/JogAmp_JAR_File_Handling#Custom_Bundling
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.