0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

跨平臺(tái)構(gòu)建工具xmake簡介與安裝使用說明

xCb1_yikoulinux ? 來源:嵌入式大雜燴 ? 作者:ZhengN ? 2022-07-19 15:52 ? 次閱讀

大家好,我是ZhengN。本次給大家分享一個(gè)優(yōu)秀的跨平臺(tái)構(gòu)建工具。

在我們嵌入式中,開發(fā)環(huán)境多種多樣。在windows下進(jìn)行開發(fā),有各種好用的IDE給我們使用,我們可以圖形化地創(chuàng)建工程、配置工程、編譯工程。在Linux下,可能就iu沒有那么“方便”了。

在Linux下進(jìn)行嵌入式開發(fā),我們需要使用gcc、make、cmake等工具來編譯。

  • 源文件較少時(shí)可以使用直接調(diào)用gcc工具進(jìn)行編譯。

  • 源碼文件較多時(shí),可借用make工具。make通過解析Makefile文件來執(zhí)行一些gcc命令進(jìn)行編譯。

  • 簡單的項(xiàng)目,Makefile還可以自己寫一寫。但實(shí)際項(xiàng)目中,我們很少直接編寫Makefile,而是借助cmake工具來生成。cmake根據(jù)一個(gè)CMakeLists.txt文件來生成不同平臺(tái)的Makefile文件,達(dá)到跨平臺(tái)的作用。

已經(jīng)會(huì)Makefile了,還有沒有必要學(xué)習(xí)CMakeLists.txt?關(guān)于這個(gè)問題,網(wǎng)上各路大神都有自己的一些看法:

  • 反對(duì)學(xué)習(xí)cmake、CMakeLists.txt的理由大概是:增加學(xué)習(xí)成本、不跨平臺(tái)不需要學(xué) cmake等。

  • 支持學(xué)習(xí)cmake、CMakeLists.txt的理由大概是:跨平臺(tái)、管理大型項(xiàng)目簡單、易擴(kuò)展、高效率等。

我覺得還是有必要學(xué)一下的,能用上的概率比較大。關(guān)于cmake的學(xué)習(xí),強(qiáng)烈推薦一篇博文:

分享一篇很不錯(cuò)的CMake入門文章,值得收藏細(xì)讀!

cmake相關(guān)推文:

實(shí)用 | 使用Cmake快速生成visual studio工程

手把手教你在Windows下編譯、使用開源庫

xmake簡介

同cmake一樣,xmake也是一個(gè)跨平臺(tái)的安裝編譯工具,是個(gè)國產(chǎn)工具。

之前分享的 TBOX | 一個(gè)用c語言實(shí)現(xiàn)的跨平臺(tái)開發(fā)庫,就是使用xmake來管理的。

xmake 是一個(gè)基于 Lua 的輕量級(jí)跨平臺(tái)構(gòu)建工具,使用 xmake.lua 維護(hù)項(xiàng)目構(gòu)建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對(duì)新手非常友好,短時(shí)間內(nèi)就能快速入門,能夠讓用戶把更多的精力集中在實(shí)際的項(xiàng)目開發(fā)上。

xmake官網(wǎng):

https://xmake.io/

f569bd92-0719-11ed-ba43-dac502259ad0.png

1、支持的平臺(tái)

  • Windows (x86, x64)
  • macOS (i386, x86_64, arm64)
  • Linux (i386, x86_64, cross-toolchains ..)
  • *BSD (i386, x86_64)
  • Android (x86, x86_64, armeabi, armeabi-v7a, arm64-v8a)
  • iOS (armv7, armv7s, arm64, i386, x86_64)
  • WatchOS (armv7k, i386)
  • MSYS (i386, x86_64)
  • MinGW (i386, x86_64, arm, arm64)
  • Cygwin (i386, x86_64)
  • Wasm (wasm32)
  • Cross (cross-toolchains ..)

2、支持的工具鏈

f57eeb86-0719-11ed-ba43-dac502259ad0.png

3、支持的語言

  • C/C++
  • Objc/Objc++
  • Swift
  • Assembly
  • Golang
  • Rust
  • Dlang
  • Fortran
  • Cuda
  • Zig (Experimental)

4、編譯測(cè)試

多任務(wù)并行編譯測(cè)試:

f58fddc4-0719-11ed-ba43-dac502259ad0.png

單任務(wù)編譯測(cè)試:

f59fd1c0-0719-11ed-ba43-dac502259ad0.png

官網(wǎng)上的內(nèi)容很豐富,對(duì)xmake做了很詳細(xì)的介紹,感興趣的小伙伴可以自己去了解學(xué)習(xí)。

xmake安裝、使用

下面我們一起來安裝、使用,直觀地認(rèn)識(shí)一下:

針對(duì)不同的環(huán)境,xmake有多種安裝方式。

Ubuntu下可使用wget或curl安裝,安裝命令:

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

或:

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

下面我們使用curl來安裝:

f5b01814-0719-11ed-ba43-dac502259ad0.pngf5c7ba46-0719-11ed-ba43-dac502259ad0.png

xmake的參數(shù)很豐富,通過命令 xmake create --help 來查看:

f5d61082-0719-11ed-ba43-dac502259ad0.png

我們可以直接通過命令來創(chuàng)建一個(gè)工程。

創(chuàng)建一個(gè)C語言工程,輸入命令:

xmakecreate-lc-P./c_test
f5e6e4e8-0719-11ed-ba43-dac502259ad0.png

創(chuàng)建一個(gè)C++工程,輸入命令:

xmakecreate-lc++-P./cpp_test
f5f960a0-0719-11ed-ba43-dac502259ad0.png

這里的 -l 參數(shù)指定工程所用的編程語言, -P 參數(shù)指明工程的名稱。其中xmake.lua就類似于cmake的CMakeLists.txt文件。里面的內(nèi)容如:

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

其語法類似于CMakeLists.txt但看起來比CMakeLists.txt更簡潔。

構(gòu)建工程,輸入命令 xmake

f60c2bf4-0719-11ed-ba43-dac502259ad0.png

運(yùn)行程序,輸入命令 xmake run c_test

f61beb16-0719-11ed-ba43-dac502259ad0.png

調(diào)試程序,輸入命令 xmake run -d c_test

f6272616-0719-11ed-ba43-dac502259ad0.png

關(guān)于跨平臺(tái)工具,目前用得比較多的自然是cmake,但大家也可以持續(xù)關(guān)注一下xmake這一款優(yōu)秀的構(gòu)建工具,說不定后面會(huì)火~

以上就是本次關(guān)于xmake的分享,咱們下期見~

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11158

    瀏覽量

    208457
  • 編譯工具
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6940
  • CMake
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    1254

原文標(biāo)題:跨平臺(tái)構(gòu)建工具,cmake是 yyds ? bjd !

文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在Linux平臺(tái)下面安裝Maven步驟說明

    構(gòu)建、報(bào)告和文檔等步驟。曾是Jakarta項(xiàng)目的子項(xiàng)目,現(xiàn)為獨(dú)立Apache項(xiàng)目。  那么,如何在Linux平臺(tái)下面安裝Maven呢?下面說明如何
    發(fā)表于 07-23 06:14

    常用根文件系統(tǒng)構(gòu)建工具有哪些

    11、/mnt目錄12、/tmp目錄二、常用根文件系統(tǒng)構(gòu)建工具簡介1、BusyBox工具2、Buildroot工具3、Yocto工具一、
    發(fā)表于 11-05 07:28

    RT-Thread系統(tǒng)中的Scons構(gòu)建工具資料推薦

    原因,Makefile 的語法比較混亂,不利于初學(xué)者學(xué)習(xí)。此外在 Windows 平臺(tái)上使用 Make 也不方便,需要安裝 Cygwin 環(huán)境。為了克服 Make 的種種缺點(diǎn),人們開發(fā)了其他構(gòu)建工具,如
    發(fā)表于 05-07 15:35

    如何使用xmake工具來編譯rt-thread工程

    在最新的 rt-thread 主倉庫,支持使用 xmake 工具來編譯 rt-thread 工程。xmake介紹xmake 是一個(gè)基于 Lua 的輕量級(jí)
    發(fā)表于 06-08 15:05

    smart-build工具的menuconfig整體設(shè)計(jì)

    ||───platform.lua|───toolchains// 工具鏈||───aarch64.lua||───arm.lua|───xmake.lua│README.md// 工具使用說
    發(fā)表于 08-26 15:32

    xmake-gradle是什么?怎樣去配置呢

    簡介xmake-gradle是一個(gè)插件xmake的gradle。準(zhǔn)備工作我們需要安裝安裝xmake
    發(fā)表于 08-26 16:01

    RVCT 3.0 SP1構(gòu)建工具-錯(cuò)誤和警告

    本文檔說明了ARM RealView編譯工具3.0、3.0 Service Pack 1和后續(xù)3.0補(bǔ)丁的構(gòu)建工具生成的錯(cuò)誤和警告消息。 如果您使用的是ADS(ADS 1.2、1.1或1.0.1)或
    發(fā)表于 08-16 06:30

    使用Nios II軟件構(gòu)建工具

    使用Nios II軟件構(gòu)建工具 This chapter describes the Nios II Software Build Tools (SBT), a set of utilities
    發(fā)表于 10-17 15:49 ?20次下載

    Nios II軟件構(gòu)建工具入門

    Nios II軟件構(gòu)建工具入門 The Nios II Software Build Tools (SBT) allows you to construct a wide variety
    發(fā)表于 10-17 15:51 ?29次下載

    MTKTrace工具Catcher使用說明

    MTKTrace工具Catcher使用說明(電源技術(shù)應(yīng)用雜志社)-MTKTrace工具Catcher使用說明? ? ? ? ? ? ? ? ??
    發(fā)表于 09-15 11:13 ?9次下載
    MTKTrace<b class='flag-5'>工具</b>Catcher<b class='flag-5'>使用說明</b>

    經(jīng)緯儀簡介使用說明

    經(jīng)緯儀簡介使用說明
    發(fā)表于 01-14 11:01 ?2次下載

    xmake輕量級(jí)平臺(tái)構(gòu)建工具介紹及安裝與使用方法

    在最新的 rt-thread 主倉庫,支持使用 xmake 工具來編譯 rt-thread 工程。
    的頭像 發(fā)表于 05-11 10:31 ?2050次閱讀

    如何使用xmake工具來編譯rt-thread工程

     在最新的 rt-thread 主倉庫,支持使用 xmake 工具來編譯 rt-thread 工程。   
    的頭像 發(fā)表于 05-11 15:03 ?2144次閱讀
    如何使用<b class='flag-5'>xmake</b><b class='flag-5'>工具</b>來編譯rt-thread工程

    推薦一款現(xiàn)代高效的java構(gòu)建工具

    相信使用Java的同學(xué)都用過Maven,這是一個(gè)非常經(jīng)典好用的項(xiàng)目構(gòu)建工具。
    的頭像 發(fā)表于 02-24 11:22 ?651次閱讀

    RT-Thread CMake構(gòu)建工具

    RT Thread原生使用的構(gòu)建工具是SCons,編譯工具鏈?zhǔn)褂霉俜教峁┑膃nv工具,內(nèi)含多種嵌入式常用的編譯環(huán)境和腳本,可以算得上環(huán)境萬能百寶箱。
    的頭像 發(fā)表于 10-12 17:06 ?601次閱讀
    RT-Thread CMake<b class='flag-5'>構(gòu)建工具</b>