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

GLFW error - GLFWwindow* not recognized as valid argument

本文关键字:识别 有效 参数 错误 GLFWwindow GLFW      更新时间:2023-10-16

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

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

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

这给我抛出了一个错误。参数窗口无效。其他期望指向 GLFWwindow 的指针的函数也会抛出错误。但其余的,没有 GLFWwindow* 的函数按预期参数编译并正常工作。

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

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

附言:eclipse编译glfwMakeContextCurrent(0);当我悬停在带有错误的行上时,它向我显示glfwMakeContextCurrent(*);<-没有类型,只有一个星号

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

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

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

需要找出如何使 Eclipse 忽略那些以 GLFWwindow* 作为参数的行...