可能重复:
Mac OS X Lion上的FreeGLUT
第一个问题:有人可以解释一下,为什么我无法在我的Mac上找到gl.h文件?如果这个问题可以简单地回答,也许你甚至不需要阅读其余的内容,但我在网上找不到任何答案(经过数小时的研究),除了着名的"它已集成到操作系统中"或类似的东西.
我的问题详细说明:
我在使用OpenGL编译.c文件时遇到问题.我已经浏览了几个小时没有找到任何解决方案.这是问题所在:
对于那些了解这个软件的人,我正在使用Webots(机器人模拟软件),我想实现一个物理插件.我从已经存在的(和正在运行的)插件中复制了代码,只是为了尝试一下.我正在编译使用gcc的webots(我不得不安装gcc编译器,因为它不再带有Xcode).
现在,问题是.c文件包含一个"physics.h"标题,其中包含OpenGL/gl.h文件,然后我得到错误:"OpenGL/gl.h.没有这样的文件或directoy".
现在我尝试了很多东西:
搜索gl.h:似乎它不存在(我无法手动或使用finder搜索功能找到它)
用GLUT/glut.h替换include OpenGL/gl.h:我得到错误"gl.h和glu.h没有这样的fil或目录",因为它们包含在glut.h中
链接makefile和框架中的gl库
可能是所有这些组合,使用绝对路径或相对路径!
由于OpenGL和GLUT应该在本机上安装OS(我正在使用Lion 10.7.5),我想每个所需的文件都应该存在.对于这个原因,我找不到下载这个假设丢失文件的方法......
此外,我的一位同事尝试并在linux上成功编译了它!Linux是一个很棒的平台,但我仍然喜欢我的mac,所以请让我希望有另一个解决方案,而不是改变Linux!
我认为我的问题出在Makefile或physic.h文件中,所以这里是:
Physic.h:
#ifndef PHYSICS_H
#define PHYSICS_H
#include <ode/ode.h>
#ifdef WIN32
#include <windows.h>
#endif
#ifndef MACOS
#include <GL/gl.h>
#else
#include <OpenGL/gl.h>
#endif
/* callback functions to be implemented in your physics plugin */
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
DLLEXPORT void webots_physics_init(dWorldID,dSpaceID,dJointGroupID);
DLLEXPORT int webots_physics_collide(dGeomID,dGeomID);
DLLEXPORT void webots_physics_step();
DLLEXPORT void webots_physics_step_end();
DLLEXPORT …Run Code Online (Sandbox Code Playgroud)