MSYS2开发环境搭建(无幻的博客,编译OpenSSL,可使用pacman升级)
2017-02-02 06:49
337 查看
MSYS2开发环境搭建
软件安装
下载msys2-x86_64软件包,双击安装到某根目录下,比如D:\msys64。pacman是MSYS2自带的软件管理工具:
可通过修改msys64\etc\pacman.d下的三个文件修改软件源,可供选择的有:中国科学技术开源软件镜像、北京理工大学镜像、日本北陆先端科学技术大学院大学SourceForge镜像、The UK Mirror Service Sorceforge mirror等。
下载后的软件包默认存放目录msys64\var\cache\pacman\pkg;若命令行下载速度较慢,可以到到软件源网站使用下载工具下载相应的软件包,然后拷贝到此目录,接着使用命令行进行安装。
运行msys2_shell.bat:
pacman -Sy更新本地包数据
升级核心包:
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl, 之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat
升级其他包:
pacman -Su
常用命令:
pacman -Q查看已安装的软件包
pacman -S -g查看软件组
pacman -Q -g base-devel查看软件组包含的软件
pacman -Q -l vim查询软件包的内容
pacman -Q -s nettle查询软件所在的包
查看工具帮助:
pacman -h;
pacman -S -h
建议通过安装软件组来安装工具链
pacman -S mingw-w64-x86_64-toolchain pacman -S mingw-w64-i686-toolchain pacman -S base-devel pacman -S vim
MSYS2应用说明
运行环境说明
msys64\etc\fstab中可以配置文件目录映射:比如配置C:\Users\lenovo\Desktop /desktop后,可以在终端直接
cd /desktop后可以直接切换到C:\Users\lenovo\Desktop目录下。
任务栏快捷键:msys64\usr\bin\mintty.exe拖拽到任务栏上,右击选择属性,将目标改成三种BAT脚本中的一个。
vim高亮配置:将msys64\etc\skel.vimrc拷贝到用户目录下。
MSYS2有三个执行脚本,分别是 msys2_shell.bat、mingw32_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
可见,三个 .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制作的。可参
MINGW_INSTALLS=mingw64 makepkg -sLf --skippgpcheck
http://sourceforge.net/p/msys2/wiki/Contributing%20to%20MSYS2/,
C:\msys64\usr\share\pacman\PKGBUILD.proto
常用软件包编译
常用软件包我们可以简单的使用命令直接从官网安装即可,比如安装openssl:32bit:
pacman -S mingw-w64-i686-openssl
64bit:
pacman -S mingw-w64-x86_64-openssl
有时候根据项目需要我们不得不自己动手编译依赖的软件包,以下是我在工作用到的库编译过程记录。
openssl
64bitmkdir openssl64 cd openssl64 tar zxvf openssl-1.0.2c.tar.gz cd openssl-1.0.2c ./configure mingw64 shared make make INSTALL_PREFIX=../ install
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
zlib
32bitmkdir 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=../
参考
MSYS2的源配置MSYS2 + MinGW-w64 + Git + gVim 环境配置
GCC online documentation
http://blog.csdn.net/callinglove/article/details/48601775 http://blog.csdn.net/callinglove/article/details/48601775
相关文章推荐
- 【刚好遇见Kotlin】使用Kotlin开发——搭建Kotlin 编译环境
- 从头搭建imx6ull开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- Win10环境下Openssl的编译安装以及在vs2013上开发环境的搭建
- Ubuntu上搭建android BSP的开发编译环境 && 设置定时编译任务 && ubuntu从10.04升级到12.04后编译出错
- 【imx6ul】从头搭建imx6ul开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- Lua开发环境搭建(一)--使用VS2012编译Lua
- Windows下使用VIM,搭建Mainframe开发环境(二)---编译VIM
- Windows下使用VIM,搭建Mainframe开发环境(七)---编译并修改源文件
- Windows下使用VIM&Cygwin,搭建Mainframe开发环境(六)---用awk/sed合并PLI/Cobol编译结果
- I8320的limo开发准备工作:在Debian上使用scratchbox搭建交叉编译环境
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- 从头搭建imx6ul开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)
- 使用VMWare搭建VxWorks开发环境
- 使用Eclipse搭建J2ME手机开发环境
- 使用eclipse搭建c++开发环境
- 一篇介绍如何使用XAMPP以及PDT开发PHP环境搭建的文章
- Windows下使用VIM,搭建Mainframe开发环境(一)
- QTE QT 开发环境的搭建 及 编译
- 使用Liferay搭建开发环境-初学者必看[收藏]
- 使用VS2005搭建典型高效的SharePoint开发环境,提高生产效率,包含远程调试,自动部署