XCode项目无法识别某些GLUT命令
XCode project cannot recognize certain GLUT commands
我正在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>
在您的头文件中。
相关文章:
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- clang整洁10忽略了我的NOLINT命令
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 使用VS Code和CMake Tools运行自定义命令
- 如何使用ESP8266向谷歌主页发送命令
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 使用 GLUT 使用键停止动画?
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 通过 Openssl 命令行加密,通过 c++ 解密
- CMake "--target install"无需"--build"命令行
- Gstreamer 管道从命令 lne 到 c 代码
- XCode项目无法识别某些GLUT命令