1. 程式人生 > 實用技巧 >十分鐘搞定 C/C++ 專案自動化構建 —— Xmake 入門指南

十分鐘搞定 C/C++ 專案自動化構建 —— Xmake 入門指南

上面是一個開發中的經典問題場景,發生的原因通常是:開發者工作機上的某些依賴項沒有安裝在測試或者客戶環境中,導致程式無法執行或者報錯。

如何有效地避免這個尷尬的場景呢?那就需要一個持續的、可複用的自動構建流程,這樣會促使團隊保證他們的軟體在 IDE 和開發者工作機之外也能夠編譯並執行基本的單元測試集。

今天給大家介紹一款非常好用的 C/C++ 專案構建工具 ——Xmake。目前它已經在 Github 收穫了 2.9K star、300+ fork,並且處理了 900+ issues、5400+ Commits,star 數也超過了大部分同類構建工具,逐漸逼近 cmake。同時,Xmake在易用性上完全趕超 cmake,對新手非常友好,短時間內就能入門。

Xmake 簡介

**友好 ——**xmake 是一個基於 Lua 的輕量級跨平臺構建工具,使用 xmake.lua 維護專案構建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內就能快速入門,能夠讓使用者把更多的精力集中在實際的專案開發上。

**強大 ——**雖然,簡單易用是 xmake 的一大特色,但 xmake 的功能也是非常強大的,既能夠像 Make/Ninja 那樣可以直接編譯專案,也可以像 CMake/Meson 那樣生成工程檔案,還有內建的包管理系統來幫助使用者解決 C/C++依賴庫的整合使用問題。

**快速 ——**目前,xmake主要用於C/C++專案的構建,但是同時也支援其他native語言的構建,可以實現跟C/C++進行混合編譯,同時編譯速度也是非常的快,可以跟Ninja持平。

Xmake 的****安裝

使用curl

bash <(curl -fsSL https://xmake.io/shget.text)

使用wget

bash <(wget https://xmake.io/shget.text -O -)

使用powershell

Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content

簡單的工程描述

target("console")
    set_kind("binary")
    add_files("src/*.c")

包依賴描述

構建工程

$ xmake

執行目標

$ xmake run console

除錯程式

$ xmake run -d console

入門教程

Xmake 的作者在實驗樓釋出了一門 Xmake 入門和進階課程,以邊學邊練習的方式快速學習 xmake 的使用,帶你輕鬆構建 C/C++ 專案。

課程以循序漸進的方式,帶你入門和進階 xmake,從最基礎的編譯配置,到複雜專案的定製化組織和維護,在課程最後幾節,我們還通過實戰的方式,一步步帶你體驗第三方 C/C++ 專案的移植編譯,以及 vscode/xmake 整合環境的視覺化編譯操作流程。最後一節實驗中,我們還會講解如何使用 xmake 和 vscode 去編譯開發基於 Qt 的應用程式。

你將學到