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());
}
}
那麼,包含的庫的順序是否有問題?我怎樣才能找出不滿意的鏈接錯誤的原因是什麼?
你知道缺少哪個庫?你檢查了正確的路徑嗎? – Thomas 2011-05-11 14:56:10
@Thomas:不,它沒有給我任何信息庫缺失。 – Roalt 2011-05-13 14:21:22
「UnsatisfiedLinkError」的信息是什麼?你是否在每個'loadLib()'調用周圍放置了一個單獨的try-catch塊,以便確定它究竟在哪裏拋出(或者以某種方式調試)? – Thomas 2011-05-13 14:32:42