XCODE 6.1.1 配置GLFW
? ? 最近在學(xué)習(xí)opengl的相關(guān)知識。第一件事就是配環(huán)境(好煩躁)。了解了一下os x下的OpenGL開源庫,主要有幾個(gè):GLUT,freeglut,GLFW等。關(guān)于其詳細(xì)的介紹可以參考o(jì)pengl網(wǎng)站(https://www.opengl.org/wiki/Related_toolkits_and_APIs)。由于GLUT太老了,os x 10.9之后已經(jīng)不推薦使用了。而且freeglut據(jù)說bug有點(diǎn)多,在網(wǎng)上查了資料后還是選擇了glfw這個(gè)開源庫。
? ? 由于mac os系統(tǒng)繼承了glut,xcode使用glut還是很方便的。但是glfw使用起來就需要我們自己配置一下環(huán)境了。本來想用百度搜一下配置方法來著,結(jié)果真是給度娘和這幫博主們跪了。翻了幾頁找到了幾個(gè),結(jié)果還都是互相抄襲。抄襲也就算了,起碼你寫的明白點(diǎn)呀。無奈之下還是看看墻外的世界吧。結(jié)果很easy的就找到了幾個(gè)安裝配置方法。這里列舉出來.
? ? 1.http://handonch.in/2014/08/05/how-to-use-glfw-in-xcode/ ? ?是一個(gè)比較詳細(xì)的教程。
? ? 2.http://www.youtube.com/watch?v=GHdorvcZRMg ? ?youtube 上一個(gè)安裝視頻。
本人是根據(jù)第一個(gè)教程配置成功的。
首先下載glfw的源代碼(官網(wǎng):http://www.glfw.org/)。在首頁就又下載鏈接。根據(jù)不同的系統(tǒng)選擇不同的下載包。
下載下源代碼之后,解壓縮,解壓到任何目錄都可以,無所謂。
打開系統(tǒng)的terminal窗口。進(jìn)入到源代碼的根目錄。如下圖。
在根目錄下執(zhí)行命令:cmake . (千萬別忘了這個(gè).)安裝cmake的放大可以度娘
執(zhí)行完cmake后執(zhí)行命令:make(這個(gè)沒有.)
接下來執(zhí)行命令:make install?
然后就會(huì)開始安裝glfw。安裝成功后會(huì)提示successful。
接下來的工作就是在xcode中配置glfw了。首先打開xcode,點(diǎn)擊"create a new xcode project" 新建一個(gè)console工程(這里建什么工程看你自己需求,我只是做一個(gè)演示)
之后鍵入工程名稱,并選擇語言,這里我選擇了C語言。
建立工程后,如下:
先忽略下面的IOKit.framework等(一會(huì)你的就會(huì)有了)
點(diǎn)擊工程文件夾,選擇右邊的build phases,在Link Binary with Libraries中選擇IOKit.framework,Cocoa.framework,OPENGL.framework,CoreVideo.frame,libglfw3.a,添加進(jìn)去。如下圖:
其中除了libglfw3.a都容易找到。libglfw3.a 在下面的列表中找不到。需要點(diǎn)擊add other 。在/usr/local/lib中選擇libglfw3.a。添加進(jìn)去就可以了。
這一步之后,點(diǎn)擊Build Setting,在搜索框搜索"header search paths",在header search paths中,添加"/usr/local/include/",并且設(shè)置為recursive,如下圖:
下一步搜索"library search paths",在"library search paths",添加"/usr/local/lib/",并且設(shè)置為recursive.
這樣,便配置好了glfw。
下面通過測試示例,來測試一個(gè)glfw是否安裝成功。
#include <GLFW/glfw3.h>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); // RedglVertex3f(0.0, 1.0, 0.0);glColor3f(0.0, 1.0, 0.0); // GreenglVertex3f(-1.0, -1.0, 0.0);glColor3f(0.0, 0.0, 1.0); // BlueglVertex3f(1.0, -1.0, 0.0);glEnd();/* Swap front and back buffers */glfwSwapBuffers(window);/* Poll for and process events */glfwPollEvents();}glfwTerminate();return 0; }
運(yùn)行該程序,可以得到運(yùn)行結(jié)果如下:
ok,搞定!
?
轉(zhuǎn)載于:https://www.cnblogs.com/suneony/p/4352314.html
總結(jié)
以上是生活随笔為你收集整理的XCODE 6.1.1 配置GLFW的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不育不孕少精症
- 下一篇: Solr初始化源码分析-Solr初始化与