最近在学习opengl的相关知识。第一件事就是配环境(好烦躁)。了解了一下os x下的OpenGL开源库,主要有几个:GLUT,freeglut,GLFW等。关于其详细的介绍可以参考opengl网站(https://www.opengl.org/wiki/Related_toolkits_and_APIs)。由于GLUT太老了,os x 10.9之后已经不推荐使用了。而且freeglut据说bug有点多,在网上查了资料后还是选择了glfw这个开源库。

由于mac os系统继承了glut,xcode使用glut还是很方便的。但是glfw使用起来就需要我们自己配置一下环境了。本来想用百度搜一下配置方法来着,结果真是给度娘和这帮博主们跪了。翻了几页找到了几个,结果还都是互相抄袭。抄袭也就算了,起码你写的明白点呀。无奈之下还是看看墙外的世界吧。结果很easy的就找到了几个安装配置方法。这里列举出来.

1.http://handonch.in/2014/08/05/how-to-use-glfw-in-xcode/    是一个比较详细的教程。

2.http://www.youtube.com/watch?v=GHdorvcZRMg    youtube 上一个安装视频。

本人是根据第一个教程配置成功的。

首先下载glfw的源代码(官网:http://www.glfw.org/)。在首页就又下载链接。根据不同的系统选择不同的下载包。

下载下源代码之后,解压缩,解压到任何目录都可以,无所谓。

打开系统的terminal窗口。进入到源代码的根目录。如下图。

在根目录下执行命令:cmake . (千万别忘了这个.)安装cmake的放大可以度娘

执行完cmake后执行命令:make(这个没有.)

接下来执行命令:make install

然后就会开始安装glfw。安装成功后会提示successful。

  接下来的工作就是在xcode中配置glfw了。首先打开xcode,点击"create a new xcode project" 新建一个console工程(这里建什么工程看你自己需求,我只是做一个演示)

之后键入工程名称,并选择语言,这里我选择了C语言。

建立工程后,如下:

先忽略下面的IOKit.framework等(一会你的就会有了)

点击工程文件夹,选择右边的build phases,在Link Binary with Libraries中选择IOKit.framework,Cocoa.framework,OPENGL.framework,CoreVideo.frame,libglfw3.a,添加进去。如下图:

其中除了libglfw3.a都容易找到。libglfw3.a 在下面的列表中找不到。需要点击add other 。在/usr/local/lib中选择libglfw3.a。添加进去就可以了。

  这一步之后,点击Build Setting,在搜索框搜索"header search paths",在header search paths中,添加"/usr/local/include/",并且设置为recursive,如下图:

下一步搜索"library search paths",在"library search paths",添加"/usr/local/lib/",并且设置为recursive.

这样,便配置好了glfw。

下面通过测试示例,来测试一个glfw是否安装成功。

#include <GLFW/glfw3.h>

int main(void)
{
GLFWwindow* window; /* Initialize the library */
if (!glfwInit())
return -; /* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(, , "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -;
} /* Make the window's context current */
glfwMakeContextCurrent(window); /* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Draw a triangle */
glBegin(GL_TRIANGLES); glColor3f(1.0, 0.0, 0.0); // Red
glVertex3f(0.0, 1.0, 0.0); glColor3f(0.0, 1.0, 0.0); // Green
glVertex3f(-1.0, -1.0, 0.0); glColor3f(0.0, 0.0, 1.0); // Blue
glVertex3f(1.0, -1.0, 0.0); glEnd(); /* Swap front and back buffers */
glfwSwapBuffers(window); /* Poll for and process events */
glfwPollEvents();
} glfwTerminate();
return ;
}

运行该程序,可以得到运行结果如下:

ok,搞定!

XCODE 6.1.1 配置GLFW的更多相关文章

  1. Xcode中opengl的配置

    1. GLUT + GLTools + SDL2 Frameworks Search Paths :Framework + Library ( $(PROJECT_DIR)/build ) Searc ...

  2. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  3. Cmakelists.txt中配置glfw

    qt中需要用cmake编译工程,且需要用到OpenGL库glfw,如何给Cmakelist.txt配置glfw的动态链接库? 在Cmakelists.txt添: find_package(glfw3 ...

  4. 【C++】从零开始的CS:GO逆向分析2——配置GLFW+IMGUI环境并创建透明窗口

    [C++]从零开始的CS:GO逆向分析2--配置GLFW+IMGUI环境并创建透明窗口   使用的环境:Visual Studio 2017,创建一个控制台程序作为工程文件 1.配置glfw 在git ...

  5. Xcode环境下OpenGL C++ GLFW开发环境搭建

    操作系统版本:MacOS Mavericks 10.9.2 Xcode版本:5.0.1 OpenGL版本:4.10 GLFW版本:3.0.4 一.GLFW编译 1.下载并安装cmake(当前最新版本为 ...

  6. [OpenGL]配置GLFW

    注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html.本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上 ...

  7. Mac平台Clion配置GLFW+GLAD的项目

    前期的准备工作详见LearnOpenGL CN 看这篇教程的前提是假设你已经编译好了GLFW文件夹以及下载好了GLAD,不会的话可以看我的另一篇 文章的前部分: 配置 Clion新建一个项目,CMak ...

  8. clion中配置glfw和glew

    clion中只能用cmake文件配置 最开始不清楚cmake语法走了不少弯路 如果遇到symbol(s) not found for architecture x86_64错误,百分百是cmake没配 ...

  9. Xcode多种Build Configuration配置使用

    Build Configuration? Xcode默认会有2个编译模式,一个是Debug,一个是Release.Release下不能调试程序,编译时有做编译优化,会比用Debug打包出来的运行快,另 ...

随机推荐

  1. TML 打印预览问题,怎么设置有些内容不出现在打印预览页面上。怎么控制,有下代码 看得不是很懂 求解释

    HTML <style> 标签的 media 属性 HTML <style> 标签 实例 针对两种不同媒介类型的两种不同的样式(计算机屏幕和打印): <html> ...

  2. 网络编程_UDP协议_聊天程序

    发送端:(将数据源改为键盘录入) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...

  3. CSS鼠标经过另类做法

    HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  4. ELK日志收集分析平台 (Elasticsearch+Logstash+Kibana)使用说明

    使用ELK对返回502的报警进行日志的收集汇总 eg:Server用户访问网站返回502 首先在zabbix上找到Server的IP 然后登录到elk上使用如下搜索条件: pool_select:X. ...

  5. oracle 查看用户所在的表空间

    查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * fr ...

  6. WorldWind源码剖析系列:绘制参数类DrawArgs

    绘制参数类DrawArgs主要对绘制时需要的对象如:设备对象Microsoft.DirectX.Direct3D.Device.Microsoft.DirectX.Direct3D.Font字体对象. ...

  7. 通过SSH秘钥登录线上MySQL数据库(基于Navicat)

    前言 生产环境的数据库往往需要经过严格的安全限制,所以禁用密码登录,使用秘钥的方式是一种相对安全的登录方式. 原理: 角色: 主机A:其他主机,有访问线上数据库的权限 主机B:线上数据库的主机 主机C ...

  8. odoo明细表汇总数据

    一.在主表中#改动地方 总结算金额 求和:def _get_subtotal2(self, cr, uid, ids, field_name, arg, context=None): # 初始化 re ...

  9. SonarQube-基本概念

    组件组成 1.sonarqube server :  他有三个程序分别是 webserver(配置和管理sonar) searchserver(搜索结果返回给sonarUI)  ComplateEng ...

  10. 【H5】滚动事件(jq)

    $(function(){ console.log($('html,body').scrollTop());  //记录滚动高度(滚动前) }) $('html,body').scroll(funct ...