博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XCODE 6.1.1 配置GLFW
阅读量:4637 次
发布时间:2019-06-09

本文共 2593 字,大约阅读时间需要 8 分钟。

    最近在学习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 
int main(void){ GLFWwindow* window; /* Initialize the library */ if (!glfwInit()) return -1; /* Create a windowed mode window and its OpenGL context */ window = glfwCreateWindow(480, 320, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } /* 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 0;}

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

ok,搞定!

 

转载于:https://www.cnblogs.com/suneony/p/4352314.html

你可能感兴趣的文章
Some configure
查看>>
json_encode时中文编码转正常状态
查看>>
流量调整和限流技术 【转载】
查看>>
Axure 全局辅助线(转)
查看>>
正由另一进程使用,因此该进程无法访问此文件。
查看>>
1 线性空间
查看>>
VS不显示最近打开的项目
查看>>
MyEclipse安装Freemarker插件
查看>>
计算多项式的值
查看>>
DP(动态规划)
查看>>
chkconfig
查看>>
TMS320F28335项目开发记录2_CCS与JTAG仿真器连接问题汇总
查看>>
最强的篮球队和马尔可夫模型
查看>>
hdu-4302-Holedox Eating-线段树-单点更新,有策略的单点查询
查看>>
cocos2d-x 音效中断问题
查看>>
子分类账知识学习(汇总网上比较有用的资料)
查看>>
pyQt 每日一练习 -- 登录框
查看>>
wp 删除独立存储空间文件(多级非空文件夹删除)
查看>>
Loadrunner安装使用入门
查看>>
smartupload 上传文件时 把页面编码改成gbk 解决乱码
查看>>