MSYS2開發環境搭建

軟件安裝

下載msys2-x86_64軟件包,雙擊安裝到某根目錄下,好比D:\msys64。 git

pacman是MSYS2自帶的軟件管理工具: github

  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. 建議經過安裝軟件組來安裝工具鏈 shell

    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目錄下。 vim

  2. 任務欄快捷鍵:msys64\usr\bin\mintty.exe拖拽到任務欄上,右擊選擇屬性,將目標改爲三種BAT腳本中的一個。 bash

  3. vim高亮配置:將msys64\etc\skel.vimrc拷貝到用戶目錄下。 curl

  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製做的。 
可參 url

經常使用軟件包編譯

經常使用軟件包咱們能夠簡單的使用命令直接從官網安裝便可,好比安裝openssl: spa

  • 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=../
相關文章
相關標籤/搜索