OpenGL4.x 学习笔记:安装&配置 - preparation
来源:互联网 发布:适合开发的linux系统 编辑:程序博客网 时间:2024/06/05 05:32
在使用Cmake GUI工具对蓝宝书配套源代码进行配置以后,打开工程,点击运行,报错。。
提示:找不到/usr/local/lib/libglfw.a
就搜了一下libglfw.a,发现是因为没有安装配置GLFW。
所以去下载了GLFW。
并查到了这篇文章:Mac平台学习OpenGL
就准备跟着上面的步骤来配置。
结果,还是逃不掉那个cmake的问题。
由于要使用命令行的cmake命令,就顺带把Mac终端命令也稍微学习了一下。
之前搜寻了很多资料,基本上都是windows和linux下的cmake安装&使用,都没有使用与OS X的。幸好后来发现了: mac 命令行自动安装软件
<span style="font-family:Arial;font-size:12px;">在终端输入:</span>
<span style="font-family:Arial;font-size:12px;">curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1</span>
<pre name="code"><span style="font-family:Arial;font-size:12px;"><strong>brew</strong> install cmake</span>
<span style="font-family:Arial;font-size:12px;">安装以后,到那个下载了的GLFW文件夹下,执行:</span>
<span style="font-family:Arial;font-size:12px;">cmake</span>
<span style="font-family:Arial;font-size:12px;">此时,仍然显示:command not found</span>
<span style="font-family:Arial;font-size:12px;">于是,再次输入:<strong>brew</strong> install cmake</span>
<span style="font-family:Arial;font-size:12px;">此时显示:Warning: cmake-3.0.2 already installed, it's just not linked</span>
于是输入:sudo brew link cmake
接下来就按照前面那篇文章的步骤:安装配置GLFW(注: 我当时使用的是glfw-2.7.6,在SB6源代码的extern文件夹下。)
Mac平台编译:
首先你得有Xcode,以及命令行工具,搞开发的这个应该都有。如果没有,参考:安装Xcode以及命令行工具.
在命令行中切换到刚下载好的GLFW的文件夹下:
>> cd lib/cocoa 切换到mac平台的专用目录
>> make -f Makefile.cocoa 开始编译生成libglfw.a静态库,libglfw.dylib动态库,libglfw.pc.in的pkg配置文件,基本就搞定了,初步编译学习只需要libglfw.a即可。
下面将glfw.h复制过来
>> cp ../../include/GL/glfw.h . (注:我当时这样复制是无效的,不过在前面加了sudo就可以了)
然后用glfw手册里的小程序测试一下,vi test.c,输入下面程序
>>cc -o test test.c ./libglfw.a -framework Cocoa -framework OpenGL -framework IOKit
然后./test可以出现一个黑色背景的窗口,则表面一切都成功了。接下来只要将libglfw.a, glfw.h放在程序同一个目录下,修改test.c就可以学习编写OpenGl的程序,试运行一段时间,觉得glfw还比较适应,那么就可以安装到usr/local目录下,即将libglfw.a复制到/usr/local/lib下,将glfw.h复制到/usr/local/include/GL/目录下(注:复制时都需要加上sudo),以后只需要
>>cc -o test test.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit
即可,或者直接
>>make -f Makefile.cocoa install
glfw的手册,使用指南参见:GLFW文档
命令行用熟练了,而且编写了较多的opengl程序后再使用xcode加入库。
附:test.c
#include "glfw.h"#include <stdlib.h>int main( void ){ int running = GL_TRUE; if( !glfwInit() ) { exit( EXIT_FAILURE ); } // Open an OpenGL window if( !glfwOpenWindow( 300,300, 0,0,0,0,0,0, GLFW_WINDOW ) ) { glfwTerminate(); exit( EXIT_FAILURE ); } // Main loop while( running ) { // OpenGL rendering goes here... glClear( GL_COLOR_BUFFER_BIT ); // Swap front and back rendering buffers glfwSwapBuffers(); // Check if ESC key was pressed or window was closed running = !glfwGetKey( GLFW_KEY_ESC ) && glfwGetWindowParam( GLFW_OPENED );} // Close window and terminate GLFW glfwTerminate(); // Exit program exit( EXIT_SUCCESS );}
Mac下命令行的使用学习笔记:
1、寻找:usr/local/lib/...
在终端输入:cd / 即可去到根目录,ls,就能看到/usr目录了
2、自动输入文件路径的方法:将文件从Find Window里直接拖到终端,这样就免去了手动输入文件路径的麻烦。
ref:http://www.macx.cn/thread-2075903-1-1.html
3、拷贝文件:
cp 参数 源文件 目标文件
例:想把桌面的Natit.kext 拷贝到驱动目录中
cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面backup
cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup
cp 参数 源文件 目标文件
例:想把桌面的Natit.kext 拷贝到驱动目录中
cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面backup
cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup
ref:http://www.cnblogs.com/dongsheng/articles/2760057.html
0 0
- OpenGL4.x 学习笔记:安装&配置 - preparation
- hybris学习笔记:Trail+~+Preparation
- OpenGL4.x学习之使用绘制三角形
- OpenGL4.x学习之搭建基于Qt和OpenGL4.x的框架
- OpenGL4.x学习之开发环境的选择
- ElasticSearch 6.x 学习笔记:1.下载安装与配置
- hybris学习过程-----Preparation
- Preparation
- hybris5.2学习-----Trail ~ Preparation
- OpenGL4.x + QT 不错的选择
- Spring 4.x 配置类学习笔记
- OpenGL4.x学习之使用着色器、绑定VAO以及绘制最简单的图元——点
- Drools安装配置学习笔记
- OpenWrt安装配置学习笔记
- 【Hadoop学习笔记】安装配置
- 【hadoop】学习笔记-安装配置
- ElasticSearch学习笔记 安装 配置
- 【学习笔记】OpenKM安装配置
- C语言中static关键字的作用
- LeetCode刷题记
- [C#]委托和事件(详细讲解)
- Linux c 开发 - 进程间通信
- 关于VC编程中出现的APPCRASH
- OpenGL4.x 学习笔记:安装&配置 - preparation
- python中的修饰器
- socket的定义与使用场景
- STL之pair类型详细分析
- I++,I--,++I,--I
- socket中的发送与接收函数
- iOS开发之自定义圆环式Slider
- 你如安好,便是晴天
- [Leetcode] Maximum Product Subarra