從 mingw32 轉移到 cygwin 而後放棄 cygwin 採用 msys2

mingw32 以及自帶的 msys 用着挺舒服的。可是很久都沒有更新了,gcc 編譯器仍是 4.x 。上次編譯 assimp 不過,錯誤消息是 obj 文件太大。搜索了一下仍是決定用新版本的 gcc 。並且如今都是用 64 位的 windows,我也想用 64 位編譯器,因此決定用 cygwin 了,並且還在不斷的更新。html

安裝完 cygwin64 開始編譯 opengl 程序,竟然編譯不過,錯誤消息也很微妙。這個時候我看了 GL 的頭文件是位於 cygwin64/usr/include/w32api/GL 這個目錄下,而 cygwin 是徹底模擬 Unix 平臺,所以應該從新安裝相關的包。我以在 cygwin64 編譯 glfw 爲例來指明要安裝的東西。首先就是要安裝 X Window ,參考這裏安裝。下面是一些要安裝的包。安裝完後就會發現另外有一個 GL 目錄,這個目錄的頭文件就能夠直接使用了。git

  • xorg-servergithub

  • xinitwindows

  • xorg-docsapi

  • xlaunchbash

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

  • libXrandr-devel 編譯 glfw 須要server

  • libXinerama-devel 編譯 glfw 須要htm

  • libXcursor-devel 編譯 glfw 須要get

  • 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 不能正確執行,提示找不到一個動態庫。

相關文章
相關標籤/搜索