文档章节

从 mingw32 转移到 cygwin 然后放弃 cygwin 采用 msys2

YLMe
 YLMe
发布于 2016/11/30 22:00
字数 547
阅读 164
收藏 1

mingw32 以及自带的 msys 用着挺舒服的。但是好久都没有更新了,gcc 编译器还是 4.x 。上次编译 assimp 不过,错误消息是 obj 文件太大。搜索了一下还是决定用新版本的 gcc 。而且现在都是用 64 位的 windows,我也想用 64 位编译器,所以决定用 cygwin 了,而且还在不断的更新。

安装完 cygwin64 开始编译 opengl 程序,居然编译不过,错误消息也很微妙。这个时候我看了 GL 的头文件是位于 cygwin64/usr/include/w32api/GL 这个目录下,而 cygwin 是完全模拟 Unix 平台,因此应该重新安装相关的包。我以在 cygwin64 编译 glfw 为例来指明要安装的东西。首先就是要安装 X Window ,参考这里安装。下面是一些要安装的包。安装完后就会发现另外有一个 GL 目录,这个目录的头文件就可以直接使用了。

  • xorg-server

  • xinit

  • xorg-docs

  • xlaunch

  • libX11-devel for Xlib.h Xutil.h Xmd.h

  • libXrandr-devel 编译 glfw 需要

  • libXinerama-devel 编译 glfw 需要

  • libXcursor-devel 编译 glfw 需要

  • libGL-devel for OpenGL

  • libEGL-devel for OpenGL ES

  • libGLU-devel for GLU

  • mesa-demos for glxinfo

发现没,要安装这么多东西,而且比较蛋疼的是运行也很蛋疼。因为不用 Windows 本地的 GL 就得用 mesa 但是这个版本很老了。总之很方便。我终于明白为什么好多人用的 mingw 没有用 cygwin 。由于 cygwin 完全移植到 Windows 上,真的太臃肿了。

后来我想用 mingw64 ,然后发现了 msys2 。真的很赞。然后就爱上了 msys2 ,而且上面的软件包很新。赞赞赞。

更新 msys2 软件包
pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
更新其他软件包
pacman -Su

pacman -Sl | grep gcc
pacman -S mingw-w64-x86_64-gcc 
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-make
pacman -Sl | grep glew
pacman -S mingw-w64-x86_64-glew
pacman -Sl | grep glfw
pacman -S mingw-w64-x86_64-glfw
pacman -Sl | grep freeglut
pacman -S mingw-w64-x86_64-freeglut

装完这些我就可以开心的撸 OpengGL 了。推荐你们。注意,把 cmake 和 make 一起安装,我单独装 make 不能正确执行,提示找不到一个动态库。

© 著作权归作者所有

YLMe
粉丝 16
博文 47
码字总数 51106
作品 0
广州
程序员
私信 提问
详解 Windows 下 Eclipse CDT 配置 C/C++ 编译环境

其实 windows 下,C、C++ IDE 也不少,但许多IDE的 UI 和用户体验基本都停留在上个世纪,除了 eclipse CDT 和 visual studio,但后者现在是个巨无霸,安装文件都 3 个多G,而且这货安装容易删...

大数据之路
2015/05/10
8.6K
0
VLC-2.2.1编译

移步 http://higoge.github.io/categories/流媒体/ Cygwin需要安装的包 Archive Devel Editor Libs Net Text Utils Web 海狗哥的流媒体空间大部分介绍VLC的编译,跟踪了0.8.6i到1.0.X版本的编...

xxdd
2016/09/19
126
0
GDAL使用mingw编译问题

编译的时候总是提示找不到头文件 在window下使用tdm-mingw编译64位的程序。 在cygwin下使用./configure --prefix=/cygdrive/d/development_library/GDAL/gdal-2.0.2-mingw64/build --with-l...

乌合之众
2016/02/17
1K
1
Git for Windows 2.12.1 发布,分布式版本控制系统

Git for Windows 2.12.1 发布了,自 2.12.0 发布以来的变更如下: 新特性 Comes with Git v2.12.1. In addition to the GitForWindows NuGet package, we now also publish MinGit as a NuGe......

局长
2017/03/22
1K
1
Nginx 1.13.2 发布,高性能 Web 服务器

Nginx 1.13.2 已发布。更新如下: Change: nginx now returns 200 instead of 416 when a range starting with 0 is requested from an empty file. Feature: the "add_trailer" directive.......

局长
2017/06/28
3.8K
11

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部