簡體   English   中英

在可運行的jar中使用jogl,手動加載dll

[英]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.

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