2007/04/21

安裝JOGL

為了跑一個別人寫的程式,安裝JOGL搞了一下午,Orz...

結果是因為我笨,至官方網站下載了Current nightly build的版本,

不管是怎麼改Path, Classpath,

.dll(JNI; java native interface) 及 .jar (Library),不管是放jre還是放jdk\jre,

就是無法import net.java.games.jogl.* 。


就快要放棄時,才發現有人跟我一樣呆,

下載了jogl 2006 release的版本(也就是Current nightly build的版本)一直run不成,

後來有人提醒他改下載2003 release的版本才OK!

原因是2006 release的jogl.jar已經重新命名所有的package,
(難怪我第一次打開jogl.jar看它的檔案結構時,就覺得很納悶,怎麼跟網頁上的安裝教學不同,
還多出2個.dll及gluegen-rt.jar)

所以舊的程式若有需要使用jogl.jar,就得import 2003 release的版本。


總之,若需要使用jogl來開發程式,可以下載2006 release的版本,

因為裡面還有gluegen-rt.jar,似乎是用來將C程式轉換成JNI code,

以便JOGL可以跟上OpenGL的更新速度。(畢竟OpenGL是C開發的)


若是要跑一些網路上別人過去寫好的程式,

而該程式需要import jogl library,那麼最好下載2003 release的版本,

也就是官方首頁的Archived release and pre-release builds

(簡單的區分方法:
2003 版 是 import net.java.games.jogl.*
2006 版 是 import com.sun.opengl.* )



安裝方式:2003版與2006版無異,只是2006版多了兩個.dll及一個.jar。

以下以2003版為例,

將下載的jogl-1.1.0-yourOS.zip 解壓縮後,

裡面有jogl.jar及jogl.dll及jogl_cg.dll。

將jogl.dll及jogl_cg.dll 移至C:\[jdk_location]\jre\bin\ 。

然後將jogl.jar移至 C:\[jdk_location]\jre\lib\ext\ 。


最後將C:\[jdk_location]\bin及C:\[jdk_location]\jre\bin 加入系統的path最前面。
(前者是為了使用Private JRE 及javac, jar等tools,
後者是為了使jogl.jar找到jogl.dll)


p.s. 可以run下面這網站中的HelloWorld.java,試試jogl是否安裝成功。
http://cotocg.com/?498/action_viewspace_itemid_252.html

No comments:

Post a Comment