大家好,我是ZhengN。本次給大家分享一個優(yōu)秀的跨平臺構(gòu)建工具。
在我們嵌入式中,開發(fā)環(huán)境多種多樣。在windows下進行開發(fā),有各種好用的IDE給我們使用,我們可以圖形化地創(chuàng)建工程、配置工程、編譯工程。在Linux下,可能就iu沒有那么“方便”了。
在Linux下進行嵌入式開發(fā),我們需要使用gcc、make、cmake等工具來編譯。
- 
				
源文件較少時可以使用直接調(diào)用gcc工具進行編譯。
 - 
				
源碼文件較多時,可借用make工具。make通過解析Makefile文件來執(zhí)行一些gcc命令進行編譯。
 - 
				
簡單的項目,Makefile還可以自己寫一寫。但實際項目中,我們很少直接編寫Makefile,而是借助cmake工具來生成。cmake根據(jù)一個CMakeLists.txt文件來生成不同平臺的Makefile文件,達到跨平臺的作用。
 
已經(jīng)會Makefile了,還有沒有必要學習CMakeLists.txt?關(guān)于這個問題,網(wǎng)上各路大神都有自己的一些看法:
- 
				
反對學習cmake、CMakeLists.txt的理由大概是:增加學習成本、不跨平臺不需要學 cmake等。
 - 
				
支持學習cmake、CMakeLists.txt的理由大概是:跨平臺、管理大型項目簡單、易擴展、高效率等。
 
我覺得還是有必要學一下的,能用上的概率比較大。關(guān)于cmake的學習,強烈推薦一篇博文:
cmake相關(guān)推文:
實用 | 使用Cmake快速生成visual studio工程
xmake簡介
同cmake一樣,xmake也是一個跨平臺的安裝編譯工具,是個國產(chǎn)工具。
之前分享的 TBOX | 一個用c語言實現(xiàn)的跨平臺開發(fā)庫,就是使用xmake來管理的。
xmake 是一個基于 Lua 的輕量級跨平臺構(gòu)建工具,使用 xmake.lua 維護項目構(gòu)建,相比 makefile/CMakeLists.txt,配置語法更加簡潔直觀,對新手非常友好,短時間內(nèi)就能快速入門,能夠讓用戶把更多的精力集中在實際的項目開發(fā)上。
xmake官網(wǎng):
https://xmake.io/

1、支持的平臺
- 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、支持的工具鏈

3、支持的語言
- C/C++
 - Objc/Objc++
 - Swift
 - Assembly
 - Golang
 - Rust
 - Dlang
 - Fortran
 - Cuda
 - Zig (Experimental)
 
4、編譯測試
多任務并行編譯測試:

單任務編譯測試:

官網(wǎng)上的內(nèi)容很豐富,對xmake做了很詳細的介紹,感興趣的小伙伴可以自己去了解學習。
xmake安裝、使用
下面我們一起來安裝、使用,直觀地認識一下:
針對不同的環(huán)境,xmake有多種安裝方式。
Ubuntu下可使用wget或curl安裝,安裝命令:
bash<(wget?https://xmake.io/shget.text?-O?-)
		或:
bash<(curl?-fsSL?https://xmake.io/shget.text)
		下面我們使用curl來安裝:


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

我們可以直接通過命令來創(chuàng)建一個工程。
創(chuàng)建一個C語言工程,輸入命令:
xmakecreate-lc-P./c_test
		
創(chuàng)建一個C++工程,輸入命令:
xmakecreate-lc++-P./cpp_test
		
			這里的 -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 :

			運行程序,輸入命令 xmake run c_test:

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

關(guān)于跨平臺工具,目前用得比較多的自然是cmake,但大家也可以持續(xù)關(guān)注一下xmake這一款優(yōu)秀的構(gòu)建工具,說不定后面會火~
以上就是本次關(guān)于xmake的分享,咱們下期見~
審核編輯:湯梓紅
- 
                                Linux
                                +關(guān)注
關(guān)注
88文章
11585瀏覽量
217344 - 
                                編譯工具
                                +關(guān)注
關(guān)注
0文章
10瀏覽量
7085 - 
                                CMake
                                +關(guān)注
關(guān)注
0文章
28瀏覽量
1701 
原文標題:跨平臺構(gòu)建工具,cmake是 yyds ? bjd !
文章出處:【微信號:yikoulinux,微信公眾號:一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
ArkUI-X跨平臺框架接入指南
在Linux平臺下面安裝Maven步驟說明
常用根文件系統(tǒng)構(gòu)建工具有哪些
RT-Thread系統(tǒng)中的Scons構(gòu)建工具資料推薦
如何使用xmake工具來編譯rt-thread工程
smart-build工具的menuconfig整體設(shè)計
RVCT 3.0 SP1構(gòu)建工具-錯誤和警告
使用Nios II軟件構(gòu)建工具
Nios II軟件構(gòu)建工具入門
MTKTrace工具Catcher使用說明
    
xmake輕量級跨平臺構(gòu)建工具介紹及安裝與使用方法
推薦一款現(xiàn)代高效的java構(gòu)建工具
RT-Thread CMake構(gòu)建工具
    
          
        
        
跨平臺構(gòu)建工具xmake簡介與安裝使用說明
                
 
    
           
            
            
                
            
評論