这些';未定义对带出口的“glut*”的引用';OpenGL链接器错误?

这些';未定义对带出口的“glut*”的引用';OpenGL链接器错误?,opengl,Opengl,原始问题: [警告]通过的GLfloat' 转换2个void GLUTOLISHERE(GLdouble、GLint、, 闪烁)“ [警告]通过GLfloat' 用于转换3个void GLUTOLISHERE(GLdouble、GLint、, 闪烁)' 在应用了海报中关于包含glut.h的建议之后,我现在遇到了这个问题 没有它,我无法使用solidSphere() [链接器错误]未定义对的引用 `__glutInitWithExit@12" [链接器错误]未定义对的引用 `__glutCrea

原始问题:

[警告]通过的
GLfloat'
转换2个
void GLUTOLISHERE(GLdouble、GLint、, 闪烁)“
[警告]通过
GLfloat'
用于转换3个
void GLUTOLISHERE(GLdouble、GLint、, 闪烁)'


在应用了海报中关于包含glut.h的建议之后,我现在遇到了这个问题

没有它,我无法使用solidSphere()

[链接器错误]未定义对的引用 `__glutInitWithExit@12"

[链接器错误]未定义对的引用 `__glutCreateWindowWithExit@8"

[链接器错误]未定义对的引用 `__glutCreateMenuWithExit@8"

[链接器错误]未定义对的引用 `glutSolidSphere@16"


我使用DEV C++,如果有帮助的话。p> 那看起来破破烂烂的。也许它告诉你你正在传递一个

GLfloat
,其中一个
GLint
,作为第二个和第三个参数?请再次粘贴准确的错误/警告输出,这看起来不正确。

应将“切片”和“堆栈”参数设置为整数;您的代码正在传递浮点数


编辑:你真的不应该编辑你的问题,使它成为一个完全不同的问题。未定义引用意味着您没有在包含这些函数的库中链接。您需要将GLuT包含在链接所针对的库列表中。

正如DNS所说,但更简单地说:


您需要链接GLUT库。我相信它通常是Win32机器上的glut32.lib。在IDE的项目属性页面的某个地方应该有一个选项;很抱歉,我不使用Dev-C++,但在Visual Studio中它位于项目属性中,然后是链接器设置和“附加库包括”。

-lglut32
选项传递到mingw的链接器中-Dev Cpp使用mingw

您必须在项目选项中的某个位置找到“链接器选项”文本框。对不起,我不能说得更具体了,我使用Dev Cpp已经一年多了,真正使用它已经三年多了。它应该与添加
-lopengl32
-lglu32
的位置相同


不要忘记安装。

GLUTMingw32.zip文件包含在devcpp下构建所需的所有文件 我在桌面上提取了它。从devcpp项目选项菜单添加lib和include目录,以包含和lib目录。 在“参数”选项卡->链接器的“项目选项”对话框中添加后:

../../../Dev Cpp/lib/libopengl32.a

../../../Dev 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的顶部添加 “#定义_WCHAR_T_定义”


没有引号

这个问题的标题毫无意义。有人可以编辑它吗?发布导致问题的代码。这只是我与#include一起发布的关于glutSolidShere()的一行代码