GLFW错误 - GLFWwindow *未被识别为有效参数

时间:2013-09-07 13:24:31

标签: c++ eclipse opengl mingw glfw

我正在尝试使用GLFW编译程序作为静态库。我确信我已正确链接所有内容,因为其他GLFW函数不会抛出任何错误。这些只是使用GLFWwindow *作为参数的函数。 例如:

glfwMakeContextCurrent(window); //window is a pointer of type GLFWwindow

错误: 无效的参数'候选者是:void glfwMakeContextCurrent(*)'

这会引发一个错误。参数窗口无效。 期望指向GLFW窗口的指针的其他函数也会抛出错误。 但其余的,没有GLFWwindow *作为预期参数的函数编译和工作就好了。

我正在使用MinGW32,Eclipse CDT,Win7。 (我确信我使用32位GLFW)

可能是什么原因,为什么他不接受我的指针?

P.S。:eclipse编译glfwMakeContextCurrent(0);当我将错误悬停在线上时,它显示了glfwMakeContextCurrent(*); < - 没有类型,只是一个星号

2 个答案:

答案 0 :(得分:0)

glfw中不存在函数glfwWindowMakeContextCurrent。根据您设置编译器的方式,它可能会假定它存在,并且默认情况下假定它采用整数参数,因此可能由于这种类型不匹配而失败。但是,您可能正在寻找glfwMakeContextCurrent函数,它确实使用GLFWwindow*参数。

答案 1 :(得分:0)

问题解决了......或多或少。 使用GLFW的静态版本抛出了一些链接错误,所以我现在使用的是dll版本。 我使用这个代码制作了一个测试程序,它运行得很好。 但Eclipse仍然显示错误。似乎Eclipse无法正确读取或找出该函数。

Invalid arguments '
Candidates are:
void glfwMakeContextCurrent(*)
'

需要了解如何使Eclipse忽略那些使用GLFWwindow *作为参数的行...