以前写的C++基本都是C with STL,大多是面向过程的算法题,或者比较小的项目,然后经常报各种编译错误(对编译原理不熟),经常把人搞到崩溃,搞不懂构建、链接之类的东西。
现在开始记录一下XMake的学习笔记,记录一些学习过程中踩的坑,在这篇文章,你将学习到Windows下利用MSYS2进行Mingw-w64环境搭建和XMake安装,并用Xmake构建一个项目,编译一个HelloWorld程序。
XMake简介
一个由国人开发的C++构建工具,真的很好用!yyds。
Step1:安装MSYS2
MSYS2是一个Windows平台上的GNU/Linux-like环境,可以用于开发和调试Unix/Linux软件。MSYS2使用pacman软件包管理器,可以方便地安装和管理软件包。它也提供了一个类似于Bash的shell,支持大多数Unix/Linux命令和工具。MSYS2还提供了交叉编译工具链,可以方便地在Windows上编译和构建Linux软件。
直接到官网https://www.msys2.org/ 找到 installer
下载,然后安装到一个容易找到的路径,比如我安装到D:\msys2
目录下,接下来你就可以假想这个目录是一个linux的根目录。
安装完成后的目录差不多是这样的:
MSYS2中又有多个子系统,我们用Mingw64
就好。
Step2: 安装XMake
接下来使用以下命令用pacman安装XMake:
pacman -Sy mingw-w64-x86_64-xmake
export \(PATH=\)PATH:D:/msys2/mingw64/bin
完事后用指令source /etc/profile
来刷新配置,再用echo $PATH
来查看环境变量是否添加成功。
为了在VS Code的终端中使用xmake
命令,还需要将D:\msys2\mingw64\bin
加入到Windows的环境变量中。
注意,这里如果你发现改了环境变量,在vscode中还是不能用xmake命令,你需要重启一下vscode......这是一个小坑,当时困惑了好久。
Step3: 运行Hello World
新建一个HelloWorld
文件夹,在该文件夹下新建一个文件xmake.lua
,里面编写以下内容:
set_config("plat", "mingw")
set_config("sdk", "D:/msys2/mingw64")
target("HelloWorld")
-- 设定为二进制文件,也就是windows下的exe文件
set_kind("binary")
-- 将src目录下的所有cpp一起编译
add_files("src/*.cpp")
在src/HelloWorld.cpp
中写一个简单的程序:
#include <iostream>
signed main()
{
std::cout << "Hello, World!" << '\n';
return 0;
}
然后在终端中执行命令(注意在项目根目录执行):
xmake
构建完成后可以用xmake run
直接运行,或自己用其他方法运行。二进制文件会保存在build里面,然后根据平台进行分类。