文档章节

MSYS2开发环境搭建

solar.xie
 solar.xie
发布于 2015/12/26 21:00
字数 973
阅读 709
收藏 4
点赞 0
评论 0

软件安装

下载msys2-x86_64软件包,双击安装到某根目录下,比如D:\msys64。

pacman是MSYS2自带的软件管理工具:

  1. 可通过修改msys64\etc\pacman.d下的三个文件修改软件源,可供选择的有:中国科学技术开源软件镜像北京理工大学镜像日本北陆先端科学技术大学院大学SourceForge镜像The UK Mirror Service Sorceforge mirror等。
  2. 下载后的软件包默认存放目录msys64\var\cache\pacman\pkg;若命令行下载速度较慢,可以到到软件源网站使用下载工具下载相应的软件包,然后拷贝到此目录,接着使用命令行进行安装。
  3. 运行msys2_shell.bat: pacman -Sy 更新本地包数据
  4. 升级核心包: pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl, 之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat
  5. 升级其他包:pacman -Su
  6. 常用命令: 
    • pacman -Q查看已安装的软件包
    • pacman -S -g查看软件组
    • pacman -Q -g base-devel查看软件组包含的软件
    • pacman -Q -l vim查询软件包的内容
    • pacman -Q -s nettle查询软件所在的包
  7. 查看工具帮助:pacman -h ;pacman -S -h
  8. 建议通过安装软件组来安装工具链

    pacman -S mingw-w64-x86_64-toolchain pacman -S mingw-w64-i686-toolchain pacman -S base-devel pacman -S vim
    
    
       
    
       
    
        
        
    • 1
    • 2
    • 3
    • 4

MSYS2应用说明

运行环境说明

  1. msys64\etc\fstab中可以配置文件目录映射:比如配置C:\Users\lenovo\Desktop /desktop后,可以在终端直接cd /desktop后可以直接切换到C:\Users\lenovo\Desktop目录下。

  2. 任务栏快捷键:msys64\usr\bin\mintty.exe拖拽到任务栏上,右击选择属性,将目标改成三种BAT脚本中的一个。

  3. vim高亮配置:将msys64\etc\skel.vimrc拷贝到用户目录下。

  4. MSYS2有三个执行脚本,分别是 msys2_shell.batmingw32_shell.bat 和 mingw64_shell.bat,查看内容可以看到其中只有一行区别,即是设定 MSYSTEM 变量。这个变量在 /etc/profile 中会用到:

    MSYS2_PATH="/usr/local/bin:/usr/bin:/bin" MANPATH="/usr/local/man:/usr/share/man:/usr/man:/share/man:${MANPATH}" INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info:${INFOPATH}" MINGW_MOUNT_POINT= if [ -n "$MSYSTEM" ] then case "$MSYSTEM" in MINGW32)
      MINGW_MOUNT_POINT=/mingw32
      PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}" PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig" ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal" MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}" ;;
    MINGW64)
      MINGW_MOUNT_POINT=/mingw64
      PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}" PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig" ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal" MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}" ;;
    MSYS)
      PATH="${MSYS2_PATH}:/opt/bin:${PATH}" PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig" ;;
    *)
      PATH="${MSYS2_PATH}:${PATH}" ;; esac else PATH="${MSYS2_PATH}:${PATH}" Fi
    
    
       
    
       
    
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    可见,三个 .bat 的区别就是 PATH 的设置,mingw32_shell.bat 优先使用 msys64/mingw32 下的工具,mingw64_shell.bat 优先使用msys64/mingw64 下的工具,而 msys2_shell.bat 两个都不使用,只用自身 msys 的工具。这么做的好处是当需要编译 32bit Target 的项目时使用 mingw32_shell.bat,64 bit 使用 mingw64_shell.bat,各套工具互不干扰。

制作软件包makepkg

MSYS2官网的软件包是通过makepkg或makepkg-mingw制作的。 
可参

常用软件包编译

常用软件包我们可以简单的使用命令直接从官网安装即可,比如安装openssl:

  • 32bit:pacman -S mingw-w64-i686-openssl
  • 64bit: pacman -S mingw-w64-x86_64-openssl

有时候根据项目需要我们不得不自己动手编译依赖的软件包,以下是我在工作用到的库编译过程记录。

openssl

  • 64bit

    mkdir openssl64 cd openssl64
    tar zxvf openssl-1.0.2c.tar.gz cd openssl-1.0.2c
    ./configure mingw64 shared
    make
    make INSTALL_PREFIX=../ install
    
    
       
    
       
    
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 32bit

    mkdir openssl32 cd openssl32
    tar zxvf openssl-1.0.2c.tar.gz cd openssl-1.0.2c
    ./configure mingw shared
    make
    make INSTALL_PREFIX=../ install
    
    
       
    
       
    
        
        
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

zlib

  • 32bit 

    mkdir zlib32 
    cd zlib32 
    tar zxvf zlib-1.2.8.tar.gz 
    cd zlib-1.2.8/ 
    make -f ./win32/Makefile.gcc 
    make 
    make install -f win32/Makefile.gcc DESTDIR=../

本文转载自:http://blog.csdn.net/callinglove/article/details/48601775

共有 人打赏支持
solar.xie
粉丝 22
博文 110
码字总数 25844
作品 0
珠海
高级程序员
Windows快速搭建QT静态开发环境

最近尝试在Windows平台搭建QT的静态开发环境, 发现一个不错的方法, 发出来与大家分享。 中国科技大学有一个源, 在msys目录下面有一个现成的静态编译的QT库, 下面是链接: http://mirrors.ustc...

雁儿在林梢
2015/12/30
149
0
win上傻瓜化安装Qt开发环境

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

panda1986_meng
2014/02/27
0
0
Windows环境下的C/C++编译器

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

wqli
2015/12/14
412
0
ffmpeg Windows Visual Studio 2013 编译

按照这个说明。https://ffmpeg.org/platform.html MSYS2 YASM (Also available via MSYS2’s package manager.) MSYS2就是在Windows下搞了一套Linux工具,Shell命令可用。并且内带包管理。 ...

shengjuntu
2016/07/07
97
0
Windows平台使用eclipse集成msys2控制台

1、安装JDK,eclipse(百度搜索,教程特别多); 2、打开eclipse设置Terminal: windows => Preferences => Terminal, 添加Local Terminal如下图 注意: Path设置为msys2_shell文件的路径 Ar...

飞鸿眉敛
01/17
0
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
从 mingw32 转移到 cygwin 然后放弃 cygwin 采用 msys2

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

iiRecord
2016/11/30
49
0
TortoiseGit 1.8.15.0 发布,Git 客户端

TortoiseGit 1.8.15.0 发布,此版本更新内容如下: 新特性 Fixed issue #2245 : Make the meaning of "Squash" clearer Fixed issue #2488 : BrowseRefsDlg: Option to hide nested branches......

oschina
2015/08/17
2.3K
7
有用过msys2的吗?这个怎么装g++啊?

下载了个msys2,pacman -Sl里有gcc没有g++,这个g++去哪弄啊?

Parsifal
2014/10/20
2.1K
1
windows下编译c代码工具(gcc工具)

mingw64 msys2 tdm-gcc http://tdm-gcc.tdragon.net/download

徐学良
2015/12/30
27
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Win10专业版安装GIT后使用Git Bash闪退解决办法

百度后把过程和最终解决办法记录下来: 百度首先出来的解决办法如下: 来自:https://segmentfault.com/q/1010000012722511?sort=created 重启电脑 重新安装 安装到C盘 尝试网上的教程 \Git...

特拉仔
13分钟前
0
0
设计模式

1.装饰器模式 概念 允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰者可以在所委托被装饰者的行为之前或之后加上自己的行为,以达到特定的目的。 实现 增加一个修饰类包裹原来的...

EasyProgramming
28分钟前
1
0
用python2和opencv进行人脸识别

一、安装cv2 sudo apt-get install python-opencv opencv-data 二、 Haar特征分类器 Haar特征分类器就是一个XML文件,该文件中会描述人体各个部位的Haar特征值。包括人脸、眼睛、嘴唇等等。 ...

wangxuwei
28分钟前
0
0
python模板中循环字典

{% for k,v in user.items %} {{ k}} {{ v}} {% endfor %}

南桥北木
57分钟前
0
0
Java8系列之重新认识HashMap

简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示: 下面针对各个实现类...

HOT_POT
今天
0
0
获取调用方的className

/** * 获取调用方的class * @return */private static String getInvoke() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); S......

iborder
今天
0
0
深入了解一下Redis的内存模型!

一前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符...

Java填坑之路
今天
1
0
从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择

背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微...

老道士
今天
1
0
大数据学习的各个阶段

第一阶段:Linux课程讲解Linux基础操作,讲的是在命令行下进行文件系统的操作,这是Hadoop学习的基础,后面的所有视频都是基于linux操作的。鉴于很多学员没有linux基础,特增加该内容,保证零linux...

董黎明
今天
0
0
CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部