XCode项目无法识别某些GLUT命令

XCode project cannot recognize certain GLUT commands

本文关键字:GLUT 命令 识别 项目 XCode      更新时间:2023-10-16

我正在XCode 4中创建一个GLUT/OOpenGL项目。我添加了供过于求/opengl框架,将我所有的库链接在一起,一切都很好,除了某些原因,我的main((函数不接受glutInit(&argc,argv(,并给我错误消息"没有匹配的函数调用glutIni((。但奇怪的是,它接受了一些其他的glut函数,如glutInitDisplayMode((和glutCreateWindow((,但就是不接受glut Init((。

此外,我正在使用3个回调函数

glutDisplayFunc(DisplayCallback)    
glutReshapeFunc(ReshapeCallback)    
glutKeyboardFunc(KeyboardCallback) 

我的项目只接受第一个,但不识别其他两个,给出了与glutInit((相同的错误。

有什么可能出错的想法吗?

我遇到了完全相同的错误。

通过更改main()函数的参数,我终于解决了这个问题。

查看argv是否声明为const。从main函数参数中删除它使glutInit错误消失。

// delete const from argv declaration 
int main(int argc, const char * argv[]) // from this,
int main(int argc, char * argv[])       // to this.

根据我的个人意见,最好使用const_cast输入参数来避免C++中的类型不匹配,请查看下面的代码片段:

glutInit(&argc, const_cast<char**>(argv));

通过这种方式,你可以向程序的未来读者表明,你知道argv是一个常数,通过const_cast,你知道你在做什么。

如果你找到了答案,那就不知道了,但听起来你还没有将GLUT框架添加到你的Xcode项目中(假设Xcode 4.x(:

单击主窗口侧栏中最顶部的项目图标。

单击"将二进制文件与库链接"下的"+"并搜索"供过于求"。

添加该框架。

确保

#import <GLUT/glut.h>

在您的头文件中。