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

旧街凉风 提交于 2019-12-05 18:53:30

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 不能正确执行,提示找不到一个动态库。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!