原始问题:
[警告]传递
GLfloat' for converting 2 of
无效 glutSolidSphere(GLdouble,GLint, 闪烁)“
[警告]通过GLfloat' for converting 3 of
无效 glutSolidSphere(GLdouble,GLint, 闪烁)'
在应用了海报关于包含glut.h的建议之后,我现在遇到了这个问题。
没有它我不能使用glutSolidSphere()。
[链接器错误]未定义引用 `__glutInitWithExit @ 12'
[链接器错误]未定义引用 `__glutCreateWindowWithExit @ 8'
[链接器错误]未定义引用 `__glutCreateMenuWithExit @ 8'
[链接器错误]未定义引用 `glutSolidSphere @ 16'
我正在使用DEV C ++,如果这有帮助的话。
答案 0 :(得分:1)
看起来很糟糕。也许它告诉你,你正在传递一个GLfloat
,其中GLint
是预期的,作为第二和第三个参数?请再次粘贴您的确切错误/警告输出,这看起来不正确。
答案 1 :(得分:1)
'slices'和'stacks'参数应该是整数;你的代码是以浮点数传递的。
编辑:你真的不应该编辑你的问题,使它成为一个完全不同的问题。未定义的引用意味着您没有链接包含这些函数的库。您需要在要链接的库列表中包含GLuT。
答案 2 :(得分:1)
正如DNS所说,但用更简单的术语来说:
您需要链接GLUT库。我相信它通常是Win32机器上的glut32.lib。在IDE的项目属性页面中应该有一个选项;抱歉,我不使用Dev-C ++,但在Visual Studio中,它位于项目属性中,然后是链接器设置,以及“附加库包含”。
答案 3 :(得分:1)
将-lglut32
选项传递给mingw的链接器 - Dev-Cpp使用mingw。
您必须在“项目选项”中的某处找到“链接器选项”文本框。对不起,我不能比这更具体,自从我使用Dev-Cpp已经超过一年了,而且自从我真的使用它已经过去了三年多。它应与您添加-lopengl32
和-lglu32
的地方相同。
不要忘记安装GLUT devpak。
答案 4 :(得分:0)
GLUTMingw32.zip文件包含在devcpp下构建所需的所有文件 我在桌面上提取它。添加了lib并包含devcpp项目项目选项菜单中的目录以包含和lib目录。 在参数选项卡上的项目选项对话框中添加后 - >链接器:
../../../../开发-CPP / LIB / libopengl32.a
../../../../开发-CPP / LIB / libglu32.a
../ GLUTMingw32 / GLUTMingw32 / LIB / libglut32.a
前两个是在devcpp install dir / lib文件夹中 /你可以使用-lopengl32和-lglu32,它可以工作/
第三个,libglut32.a,我从提取的GLUTMingw32.zip文件夹中添加
将glut32.dll放置在生成项目并且main.cpp驻留的文件夹中
这就是全部。 在我获得权限被拒绝后 我刚删除生成的exe文件并重新编译 如果exe不能删除,请关闭devcpp如果抱怨短暂的重新定义
添加在main.cpp的顶部 “#define _WCHAR_T_DEFINED”
没有引号