文档章节

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

ylme
 ylme
发布于 2016/11/30 22:00
字数 547
阅读 63
收藏 1
点赞 0
评论 0

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
粉丝 10
博文 39
码字总数 40752
作品 0
广州
程序员
Windows环境下的C/C++编译器

编译器介绍 在Windows下的开发实际上是VS(Visual Studio)一家独大,而在Linux上则是GCC占据主导地位,这两种编译器是和其对应的操作系统紧密联系在一起的。伴随着计算机技术的发展,GCC也有了...

wqli
2015/12/14
412
0
详解 Windows 下 Eclipse CDT 配置 C/C++ 编译环境

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

大数据之路
2015/05/10
0
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
12
0
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
win上傻瓜化安装Qt开发环境

win上傻瓜化安装Qt开发环境 古老的MSYS搭建的开发环境不仅存在一些兼容性问题,而且还很繁琐,幸好mingw-build项目的开发者又做了更进一步的改进,他们开发了MSYS2项目。这个项目不仅兼容性更...

panda1986_meng
2014/02/27
0
0
GDAL使用mingw编译问题

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

乌合之众
2016/02/17
675
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 "addtrailer" directive. ......

局长
2017/06/28
3.2K
11
终端模拟器--Wsl-Terminal

Windows 10 中包含了一个 WSL (Windows Subsystem for Linux)子系统,我们可以在其中运行未经修改过的原生 Linux ELF 可执行文件。利用它我们可以做很多事情,对开发人员和普通用户都是如此...

goreliu
2016/08/20
4.2K
1
MSYS2开发环境搭建

软件安装 下载msys2-x86_64软件包,双击安装到某根目录下,比如D:msys64。 pacman是MSYS2自带的软件管理工具: 可通过修改msys64etcpacman.d下的三个文件修改软件源,可供选择的有:中国科学...

solar.xie
2015/12/26
689
0
小型 GNU 环境--MSYS2

Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。与Cygwin大致相当。 MinGW:即Minimalist GNU for Windows。它是一些头文件和函数库的集合,该集合...

匿名
2016/06/16
846
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

《射雕英雄传》书摘

1. 我虽是个飘泊江湖的贫家女子,可不是低三下四、不知自爱之人。你如真心爱我,须当敬我重我。我此生决无别念,就是钢刀架颈,也决意跟定了你。将来……将来如有洞房花烛之日,自然……自能...

k91191
8分钟前
0
0
解决:modal中datePicker 选中时,会触发modal的hidden.bs.modal事件

最近项目中发现了一个bug,具体表现为选中模态框上datepicker组件上的日期时,会触发模态框的关闭事件,导致数据编辑无法正常进行。网上搜索了下,解决方法如下: $('.datepicker').on('hid...

Funcy1122
12分钟前
0
0
matplotlib 绘图 常用设置

中文乱码 from pylab import mplmpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的...

阿豪boy
27分钟前
0
0
Redis分布式锁的正确实现方式

前言 分布式锁一般有三种实现方式: 1.数据库乐观锁 2.基于Redis的分布式锁; 3.基于Zookeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis...

大海201506
55分钟前
0
0
ClassNotFoundException: javax.el.ELManager

这个是因为tomcat7中的el-api2.2,有些版本太低,建议升级tomcat到8.0,利用el-api3.0就会解决这个问题。

无语年华
今天
0
0
Jvm堆内存的划分结构和优化,垃圾回收详解(详细解答篇)

在JVM中堆空间划分如下图所示 上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条 1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代 2.新生代可以划分为三个区,Eden区,两个幸...

嘻哈开发者
今天
1
0
CentOS 7.4 设置系统字符编码

1.语言变量LANG在 /etc/locale 文件中。 2.可以通过/ect/profile 来修改LC_TYPE 变量的值 添加如下代码 export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK" 到profile文件中,变量的可以修改...

qimh
今天
1
0
Kafka相关使用

安装前提,需要有jdk环境,还有zookeeper环境 zookeeper下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ zookeeper安装参考:https://www.jianshu.com/p/f7037105db46 kafka的下......

朝如青丝暮成雪
今天
1
0
CentOS7 解决无法使用tab自动补全 tab代码提示

一、前言 对于刚刚开始学习linux的新人来说,linux的一切都显着神秘,只能惊叹于大牛在Linux上行云流水的操作。今天介绍一下在linux中自动补全的功能。 对于新人来说,在不懂得技巧的情况下,...

ziluopao
今天
0
0
redis安装

https://www.cnblogs.com/feijl/p/6879929.html

ghou-靠墙哭
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部