2016-05-17 2 views
0

эй пытаюсь установить lwjgl для eclipse на ubuntu, и у меня возникли некоторые проблемы. Мне нужна помощь. Я добавил банку lwjgl в путь сборки и поместил ее в родную папку, но не повезло когда я пытаюсь запустить тестовый код, предоставленный на сайте я получаю эту ошибкуне удалось установить lwjgl для eclipse на ubuntu

enter image description here

здесь код

import org.lwjgl.*; 
import org.lwjgl.glfw.*; 
import org.lwjgl.opengl.*; 

import static org.lwjgl.glfw.Callbacks.*; 
import static org.lwjgl.glfw.GLFW.*; 
import static org.lwjgl.opengl.GL11.*; 
import static org.lwjgl.system.MemoryUtil.*; 

public class HelloWorld { 

// The window handle 
private long window; 

public void run() { 
    System.out.println("Hello LWJGL " + Version.getVersion() + "!"); 

    try { 
     init(); 
     loop(); 

     // Free the window callbacks and destroy the window 
     glfwFreeCallbacks(window); 
     glfwDestroyWindow(window); 
    } finally { 
     // Terminate GLFW and free the error callback 
     glfwTerminate(); 
     glfwSetErrorCallback(null).free(); 
    } 
} 

private void init() { 
    // Setup an error callback. The default implementation 
    // will print the error message in System.err. 
    GLFWErrorCallback.createPrint(System.err).set(); 

    // Initialize GLFW. Most GLFW functions will not work before doing this. 
    if (!glfwInit()) 
     throw new IllegalStateException("Unable to initialize GLFW"); 

    // Configure our window 
    glfwDefaultWindowHints(); // optional, the current window hints are already the default 
    glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); // the window will stay hidden after creation 
    glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // the window will be resizable 

    int WIDTH = 300; 
    int HEIGHT = 300; 

    // Create the window 
    window = glfwCreateWindow(WIDTH, HEIGHT, "Hello World!", NULL, NULL); 
    if (window == NULL) 
     throw new RuntimeException("Failed to create the GLFW window"); 

    // Setup a key callback. It will be called every time a key is pressed, repeated or released. 
    glfwSetKeyCallback(window, (window, key, scancode, action, mods) -> { 
     if (key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE) 
      glfwSetWindowShouldClose(window, true); // We will detect this in our rendering loop 
    }); 

    // Get the resolution of the primary monitor 
    GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); 
    // Center our window 
    glfwSetWindowPos(
     window, 
     (vidmode.width() - WIDTH)/2, 
     (vidmode.height() - HEIGHT)/2 
    ); 

    // Make the OpenGL context current 
    glfwMakeContextCurrent(window); 
    // Enable v-sync 
    glfwSwapInterval(1); 

    // Make the window visible 
    glfwShowWindow(window); 
} 

private void loop() { 
    // This line is critical for LWJGL's interoperation with GLFW's 
    // OpenGL context, or any context that is managed externally. 
    // LWJGL detects the context that is current in the current thread, 
    // creates the GLCapabilities instance and makes the OpenGL 
    // bindings available for use. 
    GL.createCapabilities(); 

    // Set the clear color 
    glClearColor(1.0f, 0.0f, 0.0f, 0.0f); 

    // Run the rendering loop until the user has attempted to close 
    // the window or has pressed the ESCAPE key. 
    while (!glfwWindowShouldClose(window)) { 
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the framebuffer 

     glfwSwapBuffers(window); // swap the color buffers 

     // Poll for window events. The key callback above will only be 
     // invoked during this call. 
     glfwPollEvents(); 
    } 
} 

public static void main(String[] args) { 
    new HelloWorld().run(); 
} 

} 

картина иерархии проекта

enter image description here

и построить образ пути

enter image description here

ответ

0

LWJGL требует Java 8 или выше из последних ночных сборках на. Загруженный jar был скомпилирован с JDK 8, который использует версию формата файла, которая не поддерживается Java 7 JRE.

На Ubuntu вы можете установить пакет openjdk-8-jdk, хотя, если вы используете Ubuntu 14.04, вам необходимо будет использовать PPA или альтернативный пакет с OpenJDK 8 is not available there.