这个教程主要参考了youtube上的视频 Getting Started in OpenGL with GLFW/GLEW in Xcode 6 ,这个视频有点问题,不能照搬。本人通过自己摸(瞎)索(猫)加(碰)下(死)方(耗)的(子)评论,现在给出一种可能安装成功的方案,至于能不能成功,看各位的造化了。

首先,你的 mac 需要有最新的 Xcode,Command line tool, 这些都是最基础的,估计各位已经具备条件了。其次,下载安装 CMake (https://cmake.org/),这个也没有难度,和安装普通软件没有区别。

接下来正式开始配置我们的OpenGL编程环境:

1. 下载 glew (http://glew.sourceforge.net/), 点截图中间红色的 zip。

2. 下载 glfw (https://cmake.org/),点击截图中靠右侧第一个橘黄色的框(Download GLFW 3.1.2)。

3. 打开 Xcode -> Create a new Xcode project -> Command Line Tool

然后给项目取个名字(比如:BaseOpenGL),选择保存路径到桌面(比较方便)。然后,把之前两步下载的 glfw 和 glew 解压并移动到这个项目文件夹下,为了方便,把版本号删掉。

4. 在 glfw 文件夹下创建一个名为 build 的文件夹,glfw 文件夹下存在一个 CMakeLists.txt,因此我们需要用到 CMake 软件编译这个库。打开 CMake,把这个 CMakeLists.txt 拖放到 CMake 窗口靠上方的位置,可以看到其路径被自动输入到两个表单中,一个是:Where is the source code: 另一个是 Where to build the binaries。在后者的路径下,添加一个/build,表示在我们刚刚创建的 build 文件夹中创建二进制文件。

5. 点CMake窗口下方的 Configure,在弹出的菜单中有一个下拉表单,在这个下拉表单中选择 Xcode,表单下方还是采用其默认的“Use default native compilers”,然后点 Done。

6. 第5步后 CMake 的窗口出现了很多背景是红色的字符,在第一个选项: BUILD_SHARED_LIBS 后打钩,点 Configure,发现红色背景消失了,再点 Generate。然后我们就能在之前创建的 build 文件夹中发现很多新文件了:

7. 双击进入 build 文件夹中的 GLFW.xcodeproj 文件。然后注意窗口左上角运行按钮旁边的那个按钮:ALL_BUILD,将其换为 install,并选中 My Mac。然后点击黑色三角运行按钮,编译这个文件。编译之后会出现很多警告,都不要管,这是预料中的事。经过这个步骤,你电脑的某些文件夹中就存在了 glfw 的动态链接库和头文件。
   
 
8. 下面安装 glew,glew 的编译过程与 glfw 不同。首先打开命令行,然后将路径切换到 glew的文件夹内部,然后输入 sudo make install,输入电脑密码。然后电脑就开始对 glew 进行编译了,大概需要10分钟的时间才能编译好,请耐心等待。完成后,在 glew 文件夹下可以看到 include 文件夹和 lib 文件夹,分别存储这个包的头文件和库文件。
 
9. 接下来我们修改 Xcode 的配置环境。首先打开之前创建的那个BaseOpenGL工程,然后选中左侧列表的第一个 BaseOpenGL,点右侧的build Phases,然后点开 Link Binary with Libraries,点+号,搜索 OpenGL.framework, Add.
  
 
10. 然后再点+号打开刚才的窗口,这一次选择 Add Other。然后摁住 shift+command+G,输入 \usr\local 跳转到这个路径下。进入该路径下的 lib 文件夹,然后选择 libGLEW.1.13.0.dylib。重复前面的步骤,再进入到这个文件夹下,选择 libglfw.3.1.dylib。有可能你在这个路径下找不到这俩库(我一开始就没找到),那么尝试在\usr\lib 文件夹下找,找到后把与 GLEW 和 glfw 相关的库文件都拷贝粘贴到 \usr\local\lib 中,把原来的那些删掉。
 
11. 第10步加了一个OpenGL.framework 和两个库文件,这一步将选项卡由 Build Phases 切换到 Build Settings,找到 Search Paths 那一栏,在Header Search Paths 中点+号,输入 /usr/local/include,在 Library Search Paths 中添加:/usr/local/lib。有可能出现 GlEW 或者 GLFW 的头文件没有出现在 /usr/local/include 中的情况,此时请去 /usr/include 中寻找,找到相关的文件夹(GL、GLFW)后拷贝粘贴到 /usr/local/include 中,然后删掉原文件。
 
12. 在 Linking 一栏里找到 Other Linker Flags,添加 -lGLEW 链接参数。至此,基本环境就配置完了,下一步是写代码进行测试。测试代码如下:
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h> void Render(void)
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
{
glColor3f(1.0,0.0,0.0);
glVertex2f(, .);
glColor3f(0.0,1.0,0.0);
glVertex2f(-.,-.);
glColor3f(0.0, 0.0, 1.0);
glVertex2f(., -.);
}
glEnd();
} int main(int argc, const char * argv[]) {
GLFWwindow* win;
if(!glfwInit()){
return -;
}
win = glfwCreateWindow(, , "OpenGL Base Project", NULL, NULL);
if(!win)
{
glfwTerminate();
exit(EXIT_FAILURE);
}
if(!glewInit())
{
return -;
}
glfwMakeContextCurrent(win);
while(!glfwWindowShouldClose(win)){
Render();
glfwSwapBuffers(win);
glfwPollEvents();
}
glfwTerminate();
exit(EXIT_SUCCESS);
return ;
}

测试结果为这样一幅图:

 

在 Mac OS X Yosemite 10.10.5 上配置 OpenGL 编程环境的更多相关文章

  1. mac OS X Yosemite (10.10.5) 下 安装vim 7.4笔记

    摘要 前言 需求与mac OS X 自带vim版本的冲突 默认Python解释器问题 并非Mac自带python的 homebrew 1. 前言 本文为自己作死折腾的问题记录 2. 需求与mac OS ...

  2. MAC OS X Yosemite的PyQt4配置记录

    MAC OS X Yosemite的PyQt4配置记录 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系 ...

  3. 在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目

    终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本不是最新,搭着 Build 2015 的春风,我也实践一下 Mac OS X 上的 ASP.NET 5 ...

  4. Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项

    刚更新到了 Mac OS X Yosemite 10.10,发现运行Apache出现了一些问题,修正一下! 教程基于 Mac OS X Mavericks 10.9.X,移步:Mac OS X Mav ...

  5. Vmare12(虚拟机)安装Mac OS X Yosemite 10.10

    需要预备的软件如下: OSX10.10的系统镜像,下载好之后将后缀.cdr改成.iso,下载来源如下:    链接:http://pan.baidu.com/s/1sj4ri5R 密码:y86w un ...

  6. 苹果 Mac OS X Yosemite 10.10 新功能特性总结 - 扁平化、主打跨设备的无缝连通性

    苹果在2014.06.03凌晨的 WWDC 2014 大会上正式发布了最新的 OS X Yosemite 桌面操作系统和 iOS 8 移动系统.虽然整场发布会的重心都在软件上,并没有硬件亮相,但软件上 ...

  7. VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2

    原地址:http://zengwu3915.blog.163.com/blog/static/278348972013117114742496/ 所需软件1.VMware Workstation Bu ...

  8. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware虚拟机安装Mac OS X Mountain Lion 10.8.2所需文件:1.Vmware 9.01版下载:点击进入2.Vmware 9.01版汉化文件:点击进入3.VMware Wo ...

  9. Mac OS X Yosemite安装盘U盘制作

    从App Store下载Mac OS X Yosemite安装程序,下载后的安装文件保存在应用程序(/Applications)文件夹中.请注意,此时一定不要直接启动该程序安装 OS X Yosemi ...

随机推荐

  1. python走起之第四话

    本节大纲: 一:双层装饰器:一个函数可以被多层装饰器进行装饰,函数渲染(编译)从下到上,函数执行从上到下.如下程序: 1 #!/usr/bin/env python 2 #-*-coding:utf- ...

  2. GIS服务器需求分析

    一. 需求概要 1 边界 核心职责 接收并存储外部各方系统GPS数据 GPS数据实时分发, 轨迹检索   2 流程 GIS客户端向GIS服务器订购 GIS客户端向GIS服务器订购号码(仅有号码这一项业 ...

  3. JAVA 列表排序

    以前都通过Comparator进行排序,今天看到个例子,通过apache-common工具包进行排序,实现例子参考下面界面 http://blog.csdn.net/lizeyang/article/ ...

  4. PLS-00221: 'function' 不是过程或尚未定义

    直接调用addOrgunitInfoByBatch(r_user_batch.seq_id,'01');   报错PLS-00221: 'function' 不是过程或尚未定义   原因是在调用函数时 ...

  5. 讲解Python中的递归函数

    本文的最重要的收获在于:尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式. 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例 ...

  6. 函数指针与指针函数以及typedef

    c难于理解的是指针,其魅力之处也是指针,函数方法结构,化繁为简可以理解为:返回值 函数名(形参表),具体来说: 返回值:1.可以为空void 2.基本数据类型char short int long f ...

  7. 0502团队项目 SCRUM团队成立

    Scrum团队成立 团队名称:对不对?队 团队目标:短期目标,完成O2O模式的第一个平台 团队口号:我们都不是神的孩子 团队照: 角色分配 产品负责人: 许佳仪.决定开发内容和优先级排序,最大化产品以 ...

  8. jsp项目与mysql链接

    因为毕设是地下车库管理系统,所以打算学习jsp进行开发~ 今天主要是[新建网站项目+mysql链接],在此篇之前所做的工作:tomcat服务器配置,mysql数据库的安装与启用(在之后的开发中可以使用 ...

  9. osg,qt编译的一些问题

    osg编译例子的时候,打开文件就出问题,可能是一些不兼容的问题 qt编译的是时候要添加qt和vs2010的整合工具,这样才能把 vs2010里面的QTDIR变量和环境变量QTDIR关联起来 同是右击文 ...

  10. iOS开发UI篇—Button基础

    iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状 ...