mac下使用glew库,方法

主要参考http://www.cnblogs.com/openxxs/p/4055916.html

整理自之前使用的163博客原创文章。

GLSL项目中需要使用GLEW库,因此先要安装GLEW库和在Xcode中配置GLEW。要使GLEW在Xcode中被正确链接,又需要通过MacPorts来安装GLEW。下文以MacPorts-->GLEW-->GLSL的顺序来阐述。
环境:系统 OS X 10.9.2 (13C64),工具 Xcode 5.1,图形卡 Intel Iris 1024 MB

1 MacPorts安装

MacPorts是与apt-get和yum类似的软件管理包,下载与系统对应的 安装包后进行安装(安装过程中会联网进行更新,导致安装过程很久,建议断网安装)。安装之后打开终端运行
$ sudo port -v selfupdate
进行更新。如果更新时在如下状态下卡的时间很久,
--->  Updating the ports tree
Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
receiving file list ... done
ports.tar

使用control+z终止更新,终端输入

$ sudo vim /opt/local/etc/macports/sources.conf

打开配置文件,更改最后一行的默认下载地址(参考“解决安装macports,不能更新的问题”,参考下载网址列表),如可修改为韩国镜像:

#rsync://rsync.macports.org/release/tarballs/ports.tar [default]
#http://www.macports.org/files/ports.tar.gz [default]
rsync://cjj.kr.rsync.macports.org/macports/release/tarballs/ports.tar

改好后wq保存退出,再次运行

$ sudo port -v selfupdate

进行更新,更新成功后会显示如下信息:

--->  MacPorts base is already the latest version
The ports tree has been updated. To upgrade your installed ports, you should run  port upgrade outdated

安装过程中遇到其它问题请戳:

Mac OS X Lion安装MacPorts(让你在Mac的Shell下更加游刃有余)

Mac中MacPorts安装和使用

Mac OS X中MacPorts安装和使用

2 GLEW库安装

glew库主要有如下三种安装方式:1)在Xcode中直接导入framework(下载地址);2)编译glew源代码进行安装(参考“Installing GLEW in Mac OS X (Leopard));3)通过MacPorts进行安装。

实测了三种方式,均可成功安装glew库,但前两种方式在Xcode中链接不成功,本文通过MacPorts进行安装(参考“GLEW: Apple Mach-O Linker (Id) Error”)。

终端输入

$ sudo port install glew

进行安装,安装成功后显示:

复制代码
--->  Installing glew @1.10.0_0
--->  Activating glew @1.10.0_0
--->  Cleaning glew
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
复制代码

安装过程中遇到其它问题请戳

cannot link glew under xcode4, macosx lion

3 Xcode中GLSL的配置

Mac系统中已内置openGL、GLUT和GLSL,无需安装。

启动Xcode,新建Cocoa Application工程,删除“TriangleAppDelegate.*”文件、“*main.m”文件和“MainMenu.xib”文件。右键单击"Supporting Files"添加新文件,选择"C++ File"。添加后,删除对应的头文件。右键单击"Frameworks",添加"OpenGL.framework"和"GLUT.framework"(参考“MAC OS X And Win7 vs2010 搭建OpenGL”,参考“在Xcode中使用GLUT开发OpenGL应用程序”)。

下面是添加对GLEW库的链接,在build setting中添加如下参数即可:

other linker flags: -lGLEW
header search paths: /opt/local/include/
library search paths: /opt/local/lib/

4 Hello World

在supporting files下添加basic.vert:

1 void main(){
2     gl_Position = ftransform();
3 }

在supporting files下添加basic.frag:

1 void main() {
2     gl_FragColor = vec4(0.4,0.4,0.8,1.0);
3 }

在supporting files下添加textfile.h:

复制代码
 1 #ifndef macGL_textfile_h
 2 #define macGL_textfile_h
 3 
 4 #include <stdio.h>
 5 #include <stdlib.h>
 6 #include <string.h>
 7 
 8 char *textFileRead(const char *fn);
 9 int textFileWrite(char *fn, char *s);
10 unsigned char *readDataFromFile(char *fn);
11 #endif
复制代码

 在supporting files下添加textfile.cpp:

  View Code

在supporting files下添加GLSLTest.cpp。其中display函数中的glutWireTeapot()是glut内置的画茶壶的函数。注意MAC下特有的glBindVertexArrayAPPLE,glBindVertexArrayAPPLE,glGenVertexArraysAPPLE:

  View Code

运行成功后的效果图:


说明:

1、在安装mac ports的时候,会很慢,感觉像卡死了,网上有人说断网会加速,但根据我的实际跟是否断网没关系,耐心等待,大概15分钟。

2、终端下:

sudo port -v selfupdate
 
 
 
 

3、
$ sudo port install glew
 
最后显示:

.packages.macports.org/sites/packages.macports.org/glew

--->  Attempting to fetch glew-1.11.0_0.darwin_14.x86_64.tbz2.rmd160 from http://mse.uk.packages.macports.org/sites/packages.macports.org/glew

--->  Installing glew @1.11.0_0

--->  Activating glew @1.11.0_0

--->  Cleaning glew

--->  Updating database of binaries

--->  Scanning binaries for linking errors

--->  No broken files found.

按照参考文章可行,谢谢!

http://www.glfw.org/faq.html

http://stackoverflow.com/questions/19865463/opengl-4-1-under-mavericks

<think>好的,我现在需要帮助用户解决在Windows系统上下载和安装GLEW的问题。首先,我得回顾一下用户提供的引用内容,看看里面有没有相关的信息。根据引用[4],用户提到在Windows下使用MinGW编译GLEW可能需要自己编译,因为二进制版本只有MSVC的。用户还提供了一个CSDN的链接,但可能需要下载他们编译好的MinGW版本。不过用户可能更希望从官方渠道获取,或者需要更通用的安装方法。 首先,我应该分步骤指导用户下载GLEW。官方下载地址是必要的,用户可能需要访问GLEW的官方网站。然后,安装步骤可能包括解压文件,配置环境变量,或者将头文件和文件放到合适的位置。引用[4]提到将解压后的放到某个目录,比如D:\libs\glew,然后设置编译参数,如包含路径和路径。这可能涉及到IDE的配置,比如Visual Studio或者MinGW。 用户可能使用的是Visual Studio,或者像Code::Blocks、MinGW这样的工具。根据引用[4],如果使用MinGW,可能需要自己编译GLEW,或者使用用户提供的预编译版本。但用户可能不太熟悉编译过程,所以需要详细说明如何从源码编译,或者直接下载二进制文件。 另外,引用[1]提到在Ubuntu下安装GLEW是通过apt-get,但用户现在需要Windows下的方法。需要明确区分不同系统的步骤。引用[3]提到freeglut搭配GLEW使用,可能用户后续还需要配置其他,但当前问题只关注GLEW的安装。 接下来,我应该整理出清晰的步骤:1. 下载GLEW,官方或预编译版本;2. 解压到指定目录;3. 配置包含路径、路径和链接;4. 测试安装是否成功。同时,需要提醒用户将DLL文件放到系统目录或项目目录中,以便程序运行时能找到。 可能需要注意的点包括:32位和64位的区别,不同编译器(MSVC vs MinGW)的兼容性,以及如何在IDE中设置这些路径。用户可能遇到的问题包括链接错误或找不到头文件,所以步骤要详细,确保用户能正确配置环境。 最后,生成相关问题需要考虑用户可能遇到的后续问题,比如配置Freeglut,或者解决编译错误,以及GLEW的应用场景。</think>### 分步指南:Windows 系统下载和安装 GLEW #### 步骤 1:下载 GLEW 文件 1. **官方下载地址**:访问 [GLEW 官网](http://glew.sourceforge.net/) ,选择 **Windows 32-bit and 64-bit** 版本的二进制包(例如 `glew-2.1.0-win32.zip`)[^4]。 2. **替代下载**(如需 MinGW 版本):若使用 MinGW 编译器,可从用户提供的 [CSDN 链接](https://download.csdn.net/download/m0_60352504/87403749) 下载预编译的 MinGW 版本[^4]。 #### 步骤 2:解压文件到指定目录 将下载的压缩包解压到任意目录(例如 `D:\libs\glew`),目录结构应包含以下关键文件夹: - `include\GL`:存放头文件(如 `glew.h`)。 - `lib\Release\Win32` 或 `lib\Release\x64`:存放静态(`.lib`)和动态(`.dll`)。 #### 步骤 3:配置开发环境(以 Visual Studio 为例) 1. **包含路径**: - 打开项目属性 → **C/C++ → 常规 → 附加包含目录**,添加 `D:\libs\glew\include`。 2. **路径**: - 打开项目属性 → **链接器 → 常规 → 附加目录**,添加 `D:\libs\glew\lib\Release\x64`(64 位系统)或 `Win32`(32 位)。 3. **链接**: - 在 **链接器 → 输入 → 附加依赖项** 中添加 `glew32.lib`(动态链接)或 `glew32s.lib`(静态链接)[^5]。 4. **复制 DLL 文件**: - 将 `glew32.dll` 复制到项目输出目录(如 `Debug` 或 `Release` 文件夹),或系统目录(如 `C:\Windows\System32`)。 #### 步骤 4:验证安装 编写测试代码: ```cpp #include <GL/glew.h> #include <GL/glut.h> int main() { glewInit(); // 初始化 GLEW return 0; } ``` 编译运行,若未报错则安装成功。 --- ### 常见问题解决 - **编译错误 “undefined reference to `__imp_glewInit’”**: 检查是否链接了 `glew32.lib` 或 `glew32s.lib`,并确认目录配置正确。 - **运行时缺失 `glew32.dll`**: 将 DLL 文件复制到可执行文件同级目录或系统目录[^5]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值