LWJGL Operation!=未定义类型boolean,int

时间:2016-12-05 03:10:39

标签: java eclipse lwjgl glfw

我正在学习关于lwjgl基础知识的教程。我目前正在尝试制作一个简单的窗口。但是我有两个问题。

在我的init()方法中,我写了

if(glfwInit() != GL_TRUE){
     throw new IllegalStateException("Unable to initialize GLFW");
}

在我的run()方法中我写

if(glfwWindowShouldClose(window) == GL_TRUE){
     running = false;
}

在这两种情况下我都

Exception in thread "EndlessRunner" java.lang.Error: Unresolved compilation problem: 
The operator != is undefined for the argument type(s) boolean, int

at Main.init(Main.java:28)
at Main.run(Main.java:43)
at java.lang.Thread.run(Unknown Source)

然而,似乎所有教程都以这种或那种方式使用这些行。

1 个答案:

答案 0 :(得分:1)

这些方法的Java声明与C声明并不完全相同,因此您需要调整代码以匹配Java声明。

在这两种情况下,这些方法都会返回boolean

public static boolean glfwInit()

public static boolean glfwWindowShouldClose(long window)

所以你使用truefalse而不是GL_TRUEGL_FALSE来使用它们:

if (glfwInit() != true) {

if (glfwWindowShouldClose(window) == true) {

注意:如果Eclipse显示代码中存在错误,您将无法成功运行它。