以前寫的C++基本都是C with STL,大多是面向過程的算法題,或者比較小的項目,然后經(jīng)常報各種編譯錯誤(對編譯原理不熟),經(jīng)常把人搞到崩潰,搞不懂構(gòu)建、鏈接之類的東西。
現(xiàn)在開始記錄一下XMake的學(xué)習(xí)筆記,記錄一些學(xué)習(xí)過程中踩的坑,在這篇文章,你將學(xué)習(xí)到Windows下利用MSYS2進行Mingw-w64環(huán)境搭建和XMake安裝,并用Xmake構(gòu)建一個項目,編譯一個HelloWorld程序。
?? 作者:Eriktse
?? 簡介:19歲,211計算機在讀,現(xiàn)役ACM銀牌選手??力爭以通俗易懂的方式講解算法!??歡迎關(guān)注我,一起交流C++/Python算法。(優(yōu)質(zhì)好文持續(xù)更新中……)??
?? 閱讀原文獲得更好閱讀體驗:https://www.eriktse.com/algorithm/1121.html
XMake簡介
一個由國人開發(fā)的C++構(gòu)建工具,真的很好用!yyds。
xmake 是一個基于 Lua 的輕量級跨平臺構(gòu)建工具,使用 xmake.lua 維護項目構(gòu)建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內(nèi)就能快速入門,能夠讓用戶把更多的精力集中在實際的項目開發(fā)上。
雖然,簡單易用是 xmake 的一大特色,但 xmake 的功能也是非常強大的,既能夠像 Make/Ninja 那樣可以直接編譯項目,也可以像 CMake/Meson 那樣生成工程文件,還有內(nèi)置的包管理系統(tǒng)來幫助用戶解決 C/C++依賴庫的集成使用問題。
目前,xmake主要用于C/C++項目的構(gòu)建,但是同時也支持其他native語言的構(gòu)建,可以實現(xiàn)跟C/C++進行混合編譯,同時編譯速度也是非常的快,可以跟Ninja持平。
官網(wǎng):https://xmake.io/#/zh-cn/
Step1:安裝MSYS2
MSYS2是一個Windows平臺上的GNU/Linux-like環(huán)境,可以用于開發(fā)和調(diào)試Unix/Linux軟件。MSYS2使用pacman軟件包管理器,可以方便地安裝和管理軟件包。它也提供了一個類似于Bash的shell,支持大多數(shù)Unix/Linux命令和工具。MSYS2還提供了交叉編譯工具鏈,可以方便地在Windows上編譯和構(gòu)建Linux軟件。
直接到官網(wǎng)https://www.msys2.org/ 找到 installer
下載,然后安裝到一個容易找到的路徑,比如我安裝到D:\msys2
目錄下,接下來你就可以假想這個目錄是一個linux的根目錄。
安裝完成后的目錄差不多是這樣的:
MSYS2中又有多個子系統(tǒng),我們用Mingw64
就好。
Step2: 安裝XMake
接下來使用以下命令用pacman安裝XMake:
pacman -Sy mingw-w64-x86_64-xmake
安裝完成后,用xmake
命令就可以使用xmake了。
如果提示
xmake
命令沒有找到,那就是環(huán)境變量的問題,用下面的方法來修改:
推薦在etc/profile.d
里新建一個env.sh
,里面寫
export \(PATH=\)PATH:D:/msys2/mingw64/bin
完事后用指令source /etc/profile
來刷新配置,再用echo $PATH
來查看環(huán)境變量是否添加成功。
為了在VS Code的終端中使用xmake
命令,還需要將D:\msys2\mingw64\bin
加入到Windows的環(huán)境變量中。
注意,這里如果你發(fā)現(xiàn)改了環(huán)境變量,在vscode中還是不能用xmake命令,你需要重啟一下vscode......這是一個小坑,當(dāng)時困惑了好久。
Step3: 運行Hello World
新建一個HelloWorld
文件夾,在該文件夾下新建一個文件xmake.lua
,里面編寫以下內(nèi)容:
set_config("plat", "mingw")
set_config("sdk", "D:/msys2/mingw64")
target("HelloWorld")
-- 設(shè)定為二進制文件,也就是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;
}
然后在終端中執(zhí)行命令(注意在項目根目錄執(zhí)行):文章來源:http://www.zghlxwxcb.cn/news/detail-428878.html
xmake
構(gòu)建完成后可以用xmake run
直接運行,或自己用其他方法運行。二進制文件會保存在build里面,然后根據(jù)平臺進行分類。文章來源地址http://www.zghlxwxcb.cn/news/detail-428878.html
到了這里,關(guān)于XMake學(xué)習(xí)筆記(1):Windows(MSYS2)下MinGW-w64環(huán)境搭建和XMake安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!