mt2523 使用MSYS2代替MSYS1.0,优化 Windows下的mingw编译
时间:10-02
整理:3721RD
点击:
背景:
在Windows上搭建mingw+msys的交叉编译环境,可以使用GCC编译IOT工程。但是msys1.0存在许多问题,尤其是有极高的概率会出现cmd line窗口无显示的情况,需要重启窗口才能解决,非常麻烦。
MSYS2可以有效的解决这些问题,而且安装也比较方便,下面就介绍一下如何下载安装MSYS2的环境。
步骤:
一、安装配置MSYS
1. 安装MSYS2.0
x64版本下载地址:https://sourceforge.net/projects/msys2/?source=typ_redirect下载之后按照引导安装即可,建议安装在C盘根目录(可以安装在其他盘,但务必使用根目录,减少不必要的麻烦);
2. 打开 msy s2_shell.bat
pacman -Sy
更新本地包数据
3. 升级核心包
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv
libarchive libgpgme libcurl pacman ncurses libintl
之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat
4. 升级其他包(可以跳过)
pacman -Su
二、安装 GCC
随便哪个 shell.bat 下都可以
1. 查看可用的安装包
pacman -Sl | grep gcc
可以看到以下三个
mingw32 mingw-w64-i686-gcc 6.1.0-1mingw64 mingw-64-x86_64-gcc 6.1.0-1msys gcc 6.1.0-1
安装某一个即可,分别对应于 msys 的三个 .bat 环境,安装哪一个就是用哪一个.bat进行编译操作。这里装第一个,其他类似。
2. 安装
pacman -S mingw-w64-i686-gcc
MSYS2 会自动将这个包装在 msys64/mingw32 下,只有 mingw32_shell.bat 会用到这个目录下的程序。
3. 运行
打开 mingw32_shell.bat 来试一下,输入:
gcc -v
如果有版本号出现,安装就成功了。
4. 安装make工具
输入:
pacman -S make
以上所有安装过程都是在线安装,需要连接网络,安装出错是正常现象,重复输入指令进行安装即可。
最后,如果前面下载使用的是gcc 6.1.0,使用前在SDK中修改./.config文件,在
ifneq ($(fiLTEr MINGW%,$(OS_VERSION)),)
CROSS_COMPILE := win
endif
修改为
ifneq ($(filter MSYS%,$(OS_VERSION)),)
即可
enjoy it!
在Windows上搭建mingw+msys的交叉编译环境,可以使用GCC编译IOT工程。但是msys1.0存在许多问题,尤其是有极高的概率会出现cmd line窗口无显示的情况,需要重启窗口才能解决,非常麻烦。
MSYS2可以有效的解决这些问题,而且安装也比较方便,下面就介绍一下如何下载安装MSYS2的环境。
步骤:
一、安装配置MSYS
1. 安装MSYS2.0
x64版本下载地址:https://sourceforge.net/projects/msys2/?source=typ_redirect下载之后按照引导安装即可,建议安装在C盘根目录(可以安装在其他盘,但务必使用根目录,减少不必要的麻烦);
2. 打开 msy s2_shell.bat
pacman -Sy
更新本地包数据
3. 升级核心包
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv
libarchive libgpgme libcurl pacman ncurses libintl
之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat
4. 升级其他包(可以跳过)
pacman -Su
二、安装 GCC
随便哪个 shell.bat 下都可以
1. 查看可用的安装包
pacman -Sl | grep gcc
可以看到以下三个
mingw32 mingw-w64-i686-gcc 6.1.0-1mingw64 mingw-64-x86_64-gcc 6.1.0-1msys gcc 6.1.0-1
安装某一个即可,分别对应于 msys 的三个 .bat 环境,安装哪一个就是用哪一个.bat进行编译操作。这里装第一个,其他类似。
2. 安装
pacman -S mingw-w64-i686-gcc
MSYS2 会自动将这个包装在 msys64/mingw32 下,只有 mingw32_shell.bat 会用到这个目录下的程序。
3. 运行
打开 mingw32_shell.bat 来试一下,输入:
gcc -v
如果有版本号出现,安装就成功了。
4. 安装make工具
输入:
pacman -S make
以上所有安装过程都是在线安装,需要连接网络,安装出错是正常现象,重复输入指令进行安装即可。
最后,如果前面下载使用的是gcc 6.1.0,使用前在SDK中修改./.config文件,在
ifneq ($(fiLTEr MINGW%,$(OS_VERSION)),)
CROSS_COMPILE := win
endif
修改为
ifneq ($(filter MSYS%,$(OS_VERSION)),)
即可
enjoy it!