十分鐘搞定 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++ 專案。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-QatzWWnj-1603707967657)(https://upload-images.jianshu.io/upload_images/226662-59cd7e49f141404e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
課程以循序漸進的方式,帶你入門和進階 xmake,從最基礎的編譯配置,到複雜專案的定製化組織和維護,在課程最後幾節,我們還通過實戰的方式,一步步帶你體驗第三方 C/C++ 專案的移植編譯,以及 vscode/xmake 整合環境的視覺化編譯操作流程。最後一節實驗中,我們還會講解如何使用 xmake 和 vscode 去編譯開發基於 Qt 的應用程式。
你將學到
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-NLMgSwnw-1603707967670)(https://upload-images.jianshu.io/upload_images/226662-2c4f82314c6e8796?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
??? 點選《Xmake 帶你輕鬆構建 C&C++ 專案》,瞭解課程更多資訊~
相關文章
- xmake入門,構建專案原來可以如此簡單
- xmake v2.2.2, 讓C/C++擁有包依賴自動構建C++
- C/C++ 構建系統,我用 xmakeC++
- Jenkins自動化前端專案構建Jenkins前端
- 輕鬆搞定專案流程自動化
- 持續整合指南:GitHubAction 自動構建+部署AspNetCore專案GithubNetCore
- vscode中使用cmake構建c++專案VSCodeC++
- Webpack自動化構建實踐指南Web
- 十分鐘搞定 GradleGradle
- C++入門記-建構函式和解構函式C++函式
- Gradle自動化專案構建之快速掌握GroovyGradle
- 利用fastlane進行專案的自動化構建AST
- Gradle入門及SpringBoot專案構建GradleSpring Boot
- 十分鐘快速入門 PythonPython
- webpack自動化架構入門Web架構
- Xmake 和 C/C++ 包管理C++
- 爬蟲程式十分鐘入門爬蟲
- jenkins自動構建前端專案(window,vue)Jenkins前端Vue
- 自動化構建
- 前端之路: 用github的webhooks實現專案自動化構建前端GithubWebHook
- Gradle自動化專案構建之Gradle學習及實戰Gradle
- Roslyn+T4+EnvDTE專案完全自動化(3) ——生成c++程式碼ROSC++
- 使用vue構建一個自動建站專案Vue
- Maven 自動化構建Maven
- K8S+Jenkins自動化構建微服務專案(後續)K8SJenkins微服務
- 【CuteJavaScript】Angular6入門專案(1.構建專案和建立路由)JavaScriptAngular路由
- 自動化構建映象:Packer
- C++入門教程C++
- 【CuteJavaScript】Angular6入門專案(2.構建專案頁面和元件)JavaScriptAngular元件
- 使用 Visual C++ 的 Office 自動化C++
- 自動現代化C++程式碼C++
- 10分鐘瞭解Android專案構建流程Android
- 自動聊天機器人專案班 [一門課搞定聊天機器人]機器人
- C++——建構函式之初始化列表C++函式
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- Spring Cloud超簡單十分鐘入門例項SpringCloud
- Vue CLI 4與專案構建實戰指南Vue
- C++ 程式設計入門指南:深入瞭解 C++ 語言及其應用領域C++程式設計