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 不能正确执行,提示找不到一个动态库。
来源:oschina
链接:https://my.oschina.net/u/152535/blog/797073