0. 概述
-
在Linux系统下,很多发行版本都自带Make和GCC,所以不用用户去下载配置编译环境,而在Windows系统下这些环境都需要手动配置。
-
g++、CMake、Make、gdb之间的关系:
通过这些工具的协同工作,可以完成代码的编译、构建和调试,形成一个完整的开发流程。工具 角色 调用的工具 GCC 编译器 无需调用其他工具 CMake 构建系统生成器 生成 Makefile 或 Ninja 文件 Make 构建工具 调用 GCC 编译和链接 GDB 调试工具 使用 GCC 生成的可执行文件
1. 使用MSYS2来配置gcc、cmake、make、gdb
MSYS2下载地址:MSYS2下载地址
0)安装好MSYS2安装包后,进入到安装目录下, 点击msys2.exe打开类 Arch 的终端环境:
1)在打开的终端环境下输入指令安装GCC编译链工具:
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules
pacman -S mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-gdb
pacman -S mingw-w64-x86_64-toolchain
2)将安装好的工具添加到系统环境变量中:
- 等待各个工具安装完成后,会发现\mingw64\bin目录下多了很多文件(在刚安装好msys2软件包之后这个文件夹会是空的,直到在终端执行了安装指令)
- 将对应的\msys64\mingw64\bin路径添加到系统环境变量Path中
- 为了后续方便编译代码,可以将\msys64\mingw64\bin下的mingw32-make.exe 复制一份并重命名为 make.exe,这样在终端中就可以直接使用make指令而不是mingw32-make.exe
2. 使用CMake+Make编译c++代码
1)在对应的c++项目中创建好CMakeLists.txt文件并配置好内容;
2)创建build文件夹;
mkdir build
cd build
3)使用cmake … 配置。
cmake .. -G "MinGW Makefiles"
- 注意,在windows系统下使用cmake指令时,应该写成:
cmake .. -G "MinGW Makefiles"
- 此项参数一定要加,不然默认使用 Windows 自带的 nmake 而不是 MinGW 的 make 工具
4)使用make编译
make
- 如果没有上述的复制重命名操作,则这里的make指令应该使用 mingw32-make 命令