如何在从 Linux 移植的C++项目中使用 Open GL
How do I use Open GL in a C++ project that I am porting from Linux
我只是尝试在Mac上编译一个开源C++应用程序。我收到错误 GL/gl.h 文件未找到。我知道这意味着它找不到需要编译和运行的打开的 GL 库。我对下一步该做什么感到困惑,因为
- 似乎OS X包括对open gl的内置支持。没有什么可下载的。
- OSX 和 Linux 上的 OpenGL 的头文件名似乎可能不同(OpenGL headers for OS X & Linux )
所以我对下一步该怎么做感到困惑。我是否下载OpenGL并将其链接到我的项目?我是否将 xcode 配置为使用 OpenGL 的本机版本?我是否更改标题?
有人可以提供更多的方向。这个答案给出了Windows/linux的答案 - 但不是OS X:如何获取 GL 库/标头?
苹果认为,如果它们与其他人不兼容,那将是聪明的,并将OpenGL标头放在一个名为OpenGL
而不仅仅是GL
的目录中。所以你必须使用
#include <OpenGL/gl.h>
在苹果系统上和
#include <GL/gl.h>
其他地方。编译器预定义的预处理器宏是你的朋友。
#ifdef __APPLE__
# include <OpenGL/gl.h>
#else
# include <GL/gl.h>
#endif/*__APPLE__*/
"OS X包含对OpenGL的内置支持"是正确的!
窗口也这样做!但问题是Windows只允许你访问OpenGL 1.1功能...以上所有内容都必须通过扩展来完成!OpenGL扩展可以在这里找到:http://www.opengl.org/registry/
但是因为设置这些扩展非常无聊,所以您可以使用 GLEW 或类似的东西......
另一个非常常见的问题是如何在Windows上正确打开OpenGL上下文!如果您遵循像NeHe这样的旧教程,那么您现在会遇到一些问题。解决方案是使用GLFW,过剩,自由过剩或类似的东西......
使用这对"上下文+扩展",您将能够轻松创建上下文并使用您可能在OS X上使用的"现代OpenGL"函数中的任何功能。我特别喜欢"GLFW + GLEW"!
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 欧拉项目#8答案是大以获得有效答案
- 从链接列表c++中删除一个项目
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 既然存在危险,为什么项目要使用-I include开关
- cmake在我的项目中所需的所有静态库都不成功
- QT通过C++添加映射QML项目
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在linux上调试巨大的C++项目
- 在其他文件中创建类时在 c++ 项目中不起作用
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 如何维护资源管理器项目视图中当前可见的项目列表
- 当我在xcode项目中使用 #include < OpenGL/gl.h>行时,它会在哪里查找gl.h文件?
- 如何在从 Linux 移植的C++项目中使用 Open GL