搭建MSYS2编译环境

来源:互联网 发布:美帝良心想 知乎 编辑:程序博客网 时间:2024/05/22 09:01
原文地址 http://blog.csdn.net/phight/article/details/71107884

#)安装MSYS2

软件下载地址http://www.msys2.org/
软件安转比较简单,一直下一步就好了。

#)配置源

msys2默认的软件源,在国内访问非常慢,最好配置为国内的源
修改msys64\etc\pacman.d目录下的三个mirrorlist.*文件
#### 32-bit Mingw-w64 repository mirrorlist#### Primary##清华大学镜像Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686##北京理工大学镜像Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686## msys2.orgServer = http://repo.msys2.org/mingw/i686Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
#### 64-bit Mingw-w64 repository mirrorlist#### Primary##清华大学镜像Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64##北京理工大学镜像Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64## msys2.orgServer = http://repo.msys2.org/mingw/x86_64Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
#### MSYS2 repository mirrorlist#### Primary##清华大学镜像Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch##北京理工大学镜像Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch## msys2.orgServer = http://repo.msys2.org/msys/$archServer = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$archServer = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/

#)安装软件

pacman -S base-devel
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-i686-toolchain
软件安装完后会生成mingw32和mingw64两个目录,分别是生成32位和64位程序的编译工具

部分文件说明:
    mingw32.exe    打开32位编译工具的终端
    mingw64.exe    打开64位编译工具的终端
    msys2.exe       就是一个命令行终端,没什么用
    msys2_shell.cmd    通过传参启动上面的3个程序

#)配置脚本

    到上面的一步,已经搭建好了gcc的Windows编译环境,不过在Windows上开发,一般都希望使用Visual Studio作为开发工具,虽然gcc编译的库VS上也能调用,但是会链接gcc里的库,很可能会出现链接冲突,所以最好使用VS的编译器。一开始我只是想在msys2.exe的这个终端里添加VS编译器的环境,后面发现很多开源库即使使用了VS的编译器,也需要依赖gcc的那一套构建工具,所以就干脆没用msys2.exe,直接在mingw32和mingw64两个终端都加了VS编译器的环境。
    我这里是重新建了两个批处理文件mingw32.cmd和mingw64.cmd,内容如下
set MSYS2_PATH_TYPE=inheritcall "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"msys2_shell.cmd -mingw32
set MSYS2_PATH_TYPE=inheritcall "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"msys2_shell.cmd -mingw64
    set MSYS2_PATH_TYPE=inherit,是指定MSYS2 PATH环境变量的生成方式,如果不指定下面调用的call命令将不会生效,后面两句比较好理解。


1 0
原创粉丝点击