2

我正在尝试在 Mountain Lion 上设置 JOGL。我想在没有 Eclipse 之类的 IDE 的情况下使用它。但我就是无法让它工作。

我做了什么:

  • 从这里下载了最新的 JOGL 版本:http: //jogamp.org/wiki/index.php/Downloading_and_installing_JOGL#Downloading_the_latest_automatic_build
  • 将文件 jogl-all-natives-macosx-universal.jar -gluegen-java-src.zip -jogl-all.jar -gluegen-rt-natives-macosx-universal.jar -jogl-java-src.zip -gluegen -rt.jar(就像上面链接中描述的那样,至少我是这样理解的)在一个目录中:~/jogl
  • 下一步:配置类路径。在我的系统上,CLASSPATH 变量目前为空。所以我用他们的全名添加了一次我的罐子,比如 export CLASSPATH=$CLASSPATH:~/jogl/gluegen-rt-natives-macosx-universal.jar:~/jogl/...
  • 试图编译测试代码。错误:javax.media.opengl 不存在
  • 尝试更改类路径以匹配所有带有通配符“*”的文件 -> 相同的问题
  • 试图用 javac -classpath "~/jogl/*" source.java 编译,同样的错误
  • 将所有文件分别添加到 javac -classpath,同样的错误

这个问题可能非常简单且很容易解决,但我不会在这里问我是否没有尝试几乎所有方法来让它工作!

这是我使用的测试代码:

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;

public class test
{
    public static void main(String[] args)
    {
      // setup OpenGL Version 2
      GLProfile profile = GLProfile.get(GLProfile.GL2);
      GLCapabilities capabilities = new GLCapabilities(profile);

      // The canvas is the widget that's drawn in the JFrame
      GLCanvas glcanvas = new GLCanvas(capabilities);
      glcanvas.addGLEventListener(new Renderer());
      glcanvas.setSize( 300, 300 );

        JFrame frame = new JFrame( "Hello World" );
        frame.getContentPane().add( glcanvas);

        // shutdown the program on windows close event
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent ev) {
                System.exit(0);
            }
        });

        frame.setSize( frame.getContentPane().getPreferredSize() );
        frame.setVisible( true );
    }
}

我的系统: - OSX 10.8.2 - javac 1.6.0_35

4

1 回答 1

1

试试这个(在与 test.java 相同的目录中使用 jogl-all.jar):

javac -classpath jogl-all.jar test.java

您的代码引用了一个未提供的名为 Renderer() 的类,因此我无法编译您的示例,但是这个 jar 包括javax.media.opengl.*

于 2012-10-09T17:55:15.063 回答