文档章节

MSYS2开发环境搭建

solar.xie
 solar.xie
发布于 2015/12/26 21:00
字数 973
阅读 717
收藏 4

软件安装

下载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
Windows平台使用eclipse集成msys2控制台

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

飞鸿眉敛
01/17
0
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

没有更多内容

加载失败,请刷新页面

加载更多

在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
75
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
今天
4
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
今天
4
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
5
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部