任何人都可以帮助我解决以下错误吗
GL/glut.h 没有这样的文件或目录
我做的事情是
- 安装 MinGW 后,我已将路径添加到路径中环境变量
- 在 C:\MinGW\Include\GL 中添加了 'glut.h'
- 添加了 glut32.dll 到 C:\Windows\SysWOW64
- 将 glut32.lib 添加到项目文件夹
- 与 'g++ -o hello.exe -Wall hello.c glee.lib glut32.lib -lopengl32 -lglu32' 一起编译
上面的错误仍然存在,请帮助
#include<GL/glut.h>
#include<iostream>
//#include<conio.h>
void render(void);
void keyboard(unsigned char c, int x, int y);
void mouse(int button, int state, int x, int y);
int main(int argc, char** atgv)
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(640, 480);
glutCreateWindow("Sample GLUT Application");
glutDisplayFunc(render);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
glutMainLoop();
}
void keyboard(unsigned char c, int x, int y)
{
if(c == 27){
exit(0);
}
}
void mouse(int button, int state, int x, int y)
{
if(button == GLUT_RIGHT_BUTTON )
{
exit(0);
}
}
void render(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glBegin(GL_TRIANGLES);
glColor3f(1, 0, 0);
glVertex2f(-0.5, -0.5);
glColor3f(0, 1, 0);
glVertex2f(0.5, -0.5);
glColor3f(0, 0, 1);
glVertex2f(0.0, 0.5);
glEnd();
glutSwapBuffers();
}
一些
简单的事情,可能会导致我的经验出现问题(所以请确保它们已设置:)!
- 检查 Path 变量中是否
C:MinGWbin
如果没有,请将C:MinGWbin
添加到 PATH(在控制台窗口中键入 %path%,以确保将 path 属性应用于正在使用的窗口控制台会话) - 将
glut32.dll
放入C:windowssystem32
,以便它可以在运行时找到,或者将其放在与要运行的可执行文件相同的目录中 - 刚刚检查过,我的minGW已经
glut32.dll
c:mingwbin
- 和
c:mingwlib
libglut32.a
glut.h
应该在c:mingwincludeGL
对之前的遗漏表示歉意。
如果没有其他问题在起作用,那应该会让你没事。
如果您需要更多信息/帮助,请告诉我:)
补遗:
我找到了这个链接,虽然很旧,但可能对您使文件可用于mingw的环境有用。
在基于 Debian 的系统(如 Ubuntu)上,执行
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
在 ArchLinux 上,安装自由过剩对我有用
sudo pacman -S freeglut
而不是#include<GL/glut.h>
使用#include "GL/glut.h"