欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mac OpenGL 环境配置(Xcode)

程序员文章站 2022-04-12 21:37:34
...

Mac OpenGL 环境配置(Xcode)

3D图形编程工具课要用到OpenGL,找了好多教程,有的因为Xcode版本更新高于老师用的了,也遇到了奇奇怪怪的bug。自己总结一份经验吧,以免自己后面配置的时候忘了。

  1. 安装Homebrew(这真的是最方便的配置方法了)

安装教程指路????https://blog.csdn.net/y201314an/article/details/84179536
一些tips指路????https://blog.csdn.net/delphiwcdj/article/details/19679891
官网指路(内含安装指令)????https://brew.sh (如果你看到我的笔记已经时间比较久远,建议按照官网最新的安装指令安装)。

  1. 安装OpenGL需要的包

我们老师要求使用的包是GLEW、glfw和freeglut。我也只安装了这几个包。
分别在终端输入(一个安装完再安装另一个)

brew install glew
brew install glfw
brew install freeglut

可以测试一下是否安装完成????

brew list

列表里面有这三个包就可以了(如下图)
Mac OpenGL 环境配置(Xcode)

系统会默认把这三个包装在/usr/local/Cellar里面,同时也可以在/usr/local/lib里面找到

  1. 配置Xcode

我们老师的示范程序引用进的包是<GL/glut.h>,这个包在Xcode 10.8版本之后就弃用了,现在改成了似乎是<GLUT/glut.h>。如果引用了现在的包在使用原包里面的函数,例如glutInit,就会有警告,让人很难受。所以我还是想办法用了老师示范的包。

  • 创建Xcode程序,选择macOS->Command Line Tool->按照步骤新建(语言我们课程要求C)
    Mac OpenGL 环境配置(Xcode)

  • 最左侧栏选中项目蓝标->Deployment Info选择10.8 (如果不需要用<GL/glut.h>的包,可以忽略这一步。

  • Framework and Libraries->点击+ -> 搜索框里输入OpenGL,选择OpenGL包->add
    Mac OpenGL 环境配置(Xcode)

  • Framework and Libraries相同方法添加GLUT包。
    Mac OpenGL 环境配置(Xcode)

  • Framework and Libraries ->点击+ -> Add Files -> 快捷键(Command+Shift+G)跳转系统库->输入/usr/local/lib -> Go ->选择libGLEW(任何版本都可以)
    Mac OpenGL 环境配置(Xcode)
    Mac OpenGL 环境配置(Xcode)
    Mac OpenGL 环境配置(Xcode)

  • 相同方法先后再添加libglfw、libglut包。
    包添加完后效果如图。
    Mac OpenGL 环境配置(Xcode)

  • 相同界面,选择Build Settings -> All -> Search Paths -> Always Search User Paths选择Yes -> Header Search Paths 加入/usr/local/include -> Library Search Paths 改成/usr/local/lib
    Mac OpenGL 环境配置(Xcode)

  1. 配置完成!
    可以输入代码测试:
#include <GL/glut.h>

void mydisplay(){
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_POLYGON);
    glVertex2f(-0.5, -0.5);
    glVertex2f(-0.5, 0.5);
    glVertex2f(0.5, 0.5);
    glVertex2f(0.5, -0.5);
    glEnd();
    glFlush();
}

int main(int argc, const char * argv[]) {
    glutInit(&argc, argv);
    glutCreateWindow("simple");
    glutDisplayFunc(mydisplay);
    glutMainLoop();
}

能够运行出一个白色小正方形就可以啦!

  1. 可能遇到的问题
  • 注意以上的输入内容,usr不是user,以及路径不要漏掉“/”
  • 如果像我一样遇到下图的运行bug(显示线程错误)
    Mac OpenGL 环境配置(Xcode)
    就把前面添加的Framework and Library那三个后加入的包删掉(选中包,点击‘-’),删除后呈现下图样子
    Mac OpenGL 环境配置(Xcode)
    但由于左边栏Frameworks那里那三个包仍然存在,所以不会影响运行结果但可以避免这个线程错误。
    我也不知道为什么,知道的小伙伴可以告诉我,或者有更好的解决办法欢迎留言。
  • 暂时没有其他问题,再遇到的话再补充!也欢迎大家在留言区补充。

最后感谢我安装过程中找过的各个经验贴!!!(看过太多不记得具体是哪几个了