2011-05-11 32 views
1

我正在使用jogl庫在我的程序中製作漂亮的3D圖。要在運行的JAR使用它,我用的是衆所周知的伎倆將dll文件拷貝出來,並把它在一個臨時位置(詳見this question,還爲下述LOADLIB功能)在runnable jar中使用jogl,手動加載dll

的問題是我不斷收到不滿意的鏈接錯誤:

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()); 
     } 
} 

那麼,包含的庫的順序是否有問題?我怎樣才能找出不滿意的鏈接錯誤的原因是什麼?

+0

你知道缺少哪個庫?你檢查了正確的路徑嗎? – Thomas 2011-05-11 14:56:10

+0

@Thomas:不,它沒有給我任何信息庫缺失。 – Roalt 2011-05-13 14:21:22

+0

「UnsatisfiedLinkError」的信息是什麼?你是否在每個'loadLib()'調用周圍放置了一個單獨的try-catch塊,以便確定它究竟在哪裏拋出(或者以某種方式調試)? – Thomas 2011-05-13 14:32:42

回答