在windows上编译Mesa3d opengl32库

cheungmine

http://blog.csdn.net/ubuntu64fan/article/details/8061475

Mesa3d是一套跨平台的opengl/es库, 它不提供编译好的二进制包,所以必须自己动手编译. Linux默认都带了这个软件, 因此Linux上直接用就可以了. 如果想在linux上的编译, 也比较简单, 本文不赘述.那么如何在Windows上编译这个库呢? Mesa3d官网给出了编译方法.

http://www.mesa3d.org/install.html

遗憾的是我在编译过程中出现了错误,编译失败.最后我总结出了正确的编译方法,具体过程如下:

我的系统是Windows7+VS2010

1) 下载MesaLib-9.0.zip, 解压到c:\NVPACK\MesaLib-9.0

ftp://ftp.freedesktop.org/pub/mesa/9.0/MesaLib-9.0.zip

2) 安装python-2.7.2.msi, 位置: C:\NVPACK\python27\

增加系统环境变量:

Path=......; C:\NVPACK\python27;C:\NVPACK\python27\Scripts

3) 安装libxml2-python-2.7.7.win32-py2.7.exe,安默认提示操作即可

http://xmlsoft.org/sources/win32/python/libxml2-python-2.7.7.win32-py2.7.exe

4) 安装scons-2.2.0-setup.exe,安默认提示操作即可

http://www.scons.org/

Production(2.2.0)/Windows

http://prdownloads.sourceforge.net/scons/scons-2.2.0-setup.exe

5) 安装MinGW, 安装在C:\NVPACK\MinGW

http://sourceforge.net/projects/mingw/files/latest/download

选择全部checkbox, 然后进入更新安装过程...

6) 运行MinGW Shell, 敲入下面的命令安装flex和bison

$ mingw-get install msys-flex msys-bison

复制下面的文件

C:\NVPACK\MinGW\msys\1.0\bin\flex.exe

为:

C:\NVPACK\MinGW\msys\1.0\bin\lex.exe

检验:

运行MinGW Shell, 敲入命令:

$ lex

$ yacc

如果没问题,说明lex和yacc安装正确.

7) 编译Mesa9.0. 运行MinGW Shell,敲入命令:

$ cd /c/NVPACK/Mesa-9.0

$ /c/NVPACK/python27/Scripts/scons.py

接下来就是一通编译过程. 编译出来的是debug版本. 下面是编译成功结束的样子:

到下面的目录中看看吧, 天哪: opengl32.dll真的生存了呀:

C:\NVPACK\Mesa-9.0\build\windows-x86-debug\mesa\drivers\windows\gdi\opengl32.dll

C:\NVPACK\Mesa-9.0\build\windows-x86-debug\gallium\targets\libgl-gdi\opengl32.dll

8) 如果编译release版本呢? 这个问题留给聪明的读者.

[ZZ] 在windows上编译Mesa3d opengl32库的更多相关文章

  1. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  2. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  3. 在windows上编译wireshark源代码

    终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...

  4. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  5. 在windows 上编译部署Rap2

    在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...

  6. 如何在 Windows上编译Objective-C

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...

  7. 在windows上编译MatConvNet

    有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器配置vs201 ...

  8. Build Slic3r on Windows // 如何在Windows上编译Slic3r

    下载Strawberry Perl 5.22 64bit绿色版,解压缩到某个地方,比如C盘根目录,比如 C:\strawbrry-perl-5.22.2.1-64bit-portable 下载Boos ...

  9. windows上编译zlib-1.2.8

    MSVC编译 使用VS(x86)命令行工具进入到zlib根目录,执行 nmake -f win32/Makefile.msc ,在根目录下生成:zlib.lib(静态库)  zdll.lib(动态库的 ...

随机推荐

  1. 解决remove @override annotation(jdk1.5和jdk1.6)

    在@override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现. 解决方法: 删除 @override

  2. 奇怪的梦境(codevs 2833)

    题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息.屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明 ...

  3. DOS下常用网络命令技巧

    DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...

  4. 发现磁盘的shell

    #!/bin/bash #set -x diskarray=(`cat /proc/diskstats |grep -E "\bsd[a-z]\b|\bxvd[a-z]\b|\bvd[a-z ...

  5. CentOS 6.5 下安装 Kibana5

    1. 导入Elastic PGP Key 执行命令 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 2. 安装Kiban ...

  6. hdu 4185 二分图匹配

    题意用1*2的木板覆盖矩阵中的‘#’,(木板要覆盖的只能是‘#’),问最多能用几个木板覆盖 将#抽象为二分图的点,一个木板就是一个匹配,注意最后结果要除以2 Sample Input 1 6 .... ...

  7. Windows 程序支持 Unicode

    宽字符 阅读了 UTF-8 Everywhere 一文,推荐在程序中对于字符串都使用 UTF-8 编码.Unix-like 系统默认是支持 UTF-8 编码的Unicode字符串,标准库函数也默认支持 ...

  8. ubuntu su 密码 (转)

    Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...

  9. poj 2378(树形dp)

    题目链接:http://poj.org/problem?id=2378 思路:num[u]表示以u为根的子树的顶点个数(包括),如果去掉u之后u的每棵子树都小于等于n/2,则选择u. #include ...

  10. C#的GC机制(来自网摘复制,未整理)

    第一个就是很多人用.Net写程序,会谈到托管这个概念.那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个 ...