标题说明了一切。我已经安装了所有东西,但 javac 的行为就像什么都没发生一样 - 当我尝试编译从教程中复制粘贴的代码时,没有找到 OpenGL 对象。没有。
我正在使用 OpenJDK 和 Eclipse 中的命令行 javac 以及标准设置。两者都不行。
为什么?
答案1
您仍然需要告诉 javac 在类路径上添加包含 JOGL 类的 jar 文件。
如果您使用 JogAmp JOGL 2,则在类路径上包含两个 jar 文件 gluegen-rt.jar 和 jogl-all.jar:
示例从 JogAmp 下载最新的 jar 并从命令行编译一个简单的应用程序:
#install p7zip-full required to unpack 7z files.
sudo apt-get install p7zip-full
#download and unpack the latest JogAmp JOGL release
wget http://jogamp.org/deployment/jogamp-current/archive/jogamp-all-platforms.7z
7z x jogamp-all-platforms.7z
cd jogamp-all-platforms
#download a simple JOGL example application
mkdir -p demos/es2
cd demos/es2
wget https://raw.github.com/xranby/jogl-demos/master/src/demos/es2/RawGL2ES2demo.java
cd ../..
#compile the jogl example application using javac
javac -cp jar/jogl-all.jar:jar/gluegen-rt.jar demos/es2/RawGL2ES2demo.java
#run the example jogl application
java -cp jar/jogl-all.jar:jar/gluegen-rt.jar:. demos.es2.RawGL2ES2demo
示例 2 使用 Debian/Ubuntu libjogl2-java 包提供的 jar 编译一个简单的 jogl 应用程序:Ubuntu 使用名称 gluegen2-rt.jar 和 jogl2.jar
sudo apt-get install libjogl2-java
#download a simple JOGL example application
mkdir -p demos/es2
cd demos/es2
wget https://raw.github.com/xranby/jogl-demos/master/src/demos/es2/RawGL2ES2demo.java
cd ../..
#compile the jogl example application using javac
javac -cp /usr/share/java/jogl2.jar:/usr/share/java/gluegen2-rt.jar demos/es2/RawGL2ES2demo.java
#run the example jogl application
java -cp .:/usr/share/java/jogl2.jar:/usr/share/java/gluegen2-rt.jar demos/es2/RawGL2ES2demo
请注意,Oracle 自 2009 年起已停止支持 JOGL 1。JogAmp 社区维护 JOGL 2。 https://jogamp.org/jogl/doc/Overview-OpenGL-Evolution-And-JOGL.html http://labb.zafena.se/?p=656- JogAmp 社区现在维护 JOGL 和 Java3D
大多数开发人员在 Java IDE(例如 NetBeans 和 Eclipse)中使用 JogAmp JOGL,这里是关于如何设置开发环境的链接。 https://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE