windows下MinGW64环境配置

说明

在windows经常使用c/c++写些代码,但是又讨厌微软那个又大又慢的visual studio,所以搞一个类UNIX的编译环境来用。目前流行的有两种方案:MinGW和Cygwin。

MinGW和Cygwin的区别

  • MinGW:

修改编译器,让window下的编译器把诸如fork的调用翻译成等价的形式。经过编译器编译后,原linux下的代码可以在windows下运行。

  • Cygwin:

这修改库,让window提供一个类似unix提供的库,他们对程序的接口如同UNIX一样。CygWin提供了一个UNIX环境,使用CygWin可以在Windows下调用unix-like的API(比如说fork,select,dup)。

  • 选哪个?

    mingw的安装包比cygwin体积小。
    mingw是为了像在linux上写代码,并在windows上运行(不可以掉fork这种接口)。
    mingw可以接近windows本地程序的性能。
    mingw编译的程序运行不依赖第三方库,体积小。
    mingw可以调用windows的接口!

    cygwin是为了在windows上写linux代码(可以调用fork, pull这类linux特有的接口)。
    cygwin在windows上运行,性能不行。
    cygwin编译的程序,要依赖一个dll(cygwin1.dll)。
    cygwin有和linux完全一样的运行环境。

因为我就是要像linux一样写代码,并要高效的运行在windows上,所以我选择MINGW。

下载安装MinGW64

下载地址
https://nuwen.net/files/mingw/mingw-16.1.exe

双击后解压到一个目录,比如我解压到 E:\,解压后为E:\MinGW。

下载安装MSYS

下载地址
http://www.mingw.org/wiki/MSYS/

配置msys

下载后,装到E:\MinGW\下。
在这里插入图片描述修改msys/etc/fstab文件,设置MinGW的目录

扫描二维码关注公众号,回复: 5463596 查看本文章
# /etc/fstab -- mount table configuration for MSYS.
# Please refer to /etc/fstab.sample for explanatory annotation.

# MSYS-Portable needs this "magic" comment:
# MSYSROOT=E:/MinGW/msys/1.0

# Win32_Path				Mount_Point
#-------------------------------------	-----------
E:/MinGW				/mingw

测试

双击E:\MinGW\msys\1.0\msys.bat, 会弹出一个cmd窗口,这个窗口就是我要的linux编译环境了。测试下编译器的版本:

$ g++ -v
Using built-in specs.
COLLECT_GCC=E:\MinGW64\bin\g++.exe
COLLECT_LTO_WRAPPER=e:/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-
w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=
/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared
--disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 8.2.0 (GCC)

可以看到,编译器版本是比较新的了。

提示

我记得以前有一个什么mingw-get-installer的东西,好像是32位的,软件也比较旧,最好不要用哪个。

猜你喜欢

转载自blog.csdn.net/yinmingxuan/article/details/86572965