0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跨平台构建工具xmake简介与安装使用说明

xCb1_yikoulinux 来源:嵌入式大杂烩 作者:ZhengN 2022-07-19 15:52 次阅读

大家好,我是ZhengN。本次给大家分享一个优秀的跨平台构建工具。

在我们嵌入式中,开发环境多种多样。在windows下进行开发,有各种好用的IDE给我们使用,我们可以图形化地创建工程、配置工程、编译工程。在Linux下,可能就iu没有那么“方便”了。

在Linux下进行嵌入式开发,我们需要使用gcc、make、cmake等工具来编译。

  • 源文件较少时可以使用直接调用gcc工具进行编译。

  • 源码文件较多时,可借用make工具。make通过解析Makefile文件来执行一些gcc命令进行编译。

  • 简单的项目,Makefile还可以自己写一写。但实际项目中,我们很少直接编写Makefile,而是借助cmake工具来生成。cmake根据一个CMakeLists.txt文件来生成不同平台的Makefile文件,达到跨平台的作用。

已经会Makefile了,还有没有必要学习CMakeLists.txt?关于这个问题,网上各路大神都有自己的一些看法:

  • 反对学习cmake、CMakeLists.txt的理由大概是:增加学习成本、不跨平台不需要学 cmake等。

  • 支持学习cmake、CMakeLists.txt的理由大概是:跨平台、管理大型项目简单、易扩展、高效率等。

我觉得还是有必要学一下的,能用上的概率比较大。关于cmake的学习,强烈推荐一篇博文:

分享一篇很不错的CMake入门文章,值得收藏细读!

cmake相关推文:

实用 | 使用Cmake快速生成visual studio工程

手把手教你在Windows下编译、使用开源库

xmake简介

同cmake一样,xmake也是一个跨平台的安装编译工具,是个国产工具。

之前分享的 TBOX | 一个用c语言实现的跨平台开发库,就是使用xmake来管理的。

xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。

xmake官网:

https://xmake.io/

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

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、支持的工具链

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

3、支持的语言

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

4、编译测试

多任务并行编译测试:

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

单任务编译测试:

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

官网上的内容很丰富,对xmake做了很详细的介绍,感兴趣的小伙伴可以自己去了解学习。

xmake安装、使用

下面我们一起来安装、使用,直观地认识一下:

针对不同的环境,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的参数很丰富,通过命令 xmake create --help 来查看:

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

我们可以直接通过命令来创建一个工程。

创建一个C语言工程,输入命令:

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

创建一个C++工程,输入命令:

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

这里的 -l 参数指定工程所用的编程语言, -P 参数指明工程的名称。其中xmake.lua就类似于cmake的CMakeLists.txt文件。里面的内容如:

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

其语法类似于CMakeLists.txt但看起来比CMakeLists.txt更简洁。

构建工程,输入命令 xmake

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

运行程序,输入命令 xmake run c_test

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

调试程序,输入命令 xmake run -d c_test

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

关于跨平台工具,目前用得比较多的自然是cmake,但大家也可以持续关注一下xmake这一款优秀的构建工具,说不定后面会火~

以上就是本次关于xmake的分享,咱们下期见~

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11030

    浏览量

    207263
  • 编译工具
    +关注

    关注

    0

    文章

    10

    浏览量

    6928
  • CMake
    +关注

    关注

    0

    文章

    28

    浏览量

    1225

原文标题:跨平台构建工具,cmake是 yyds ? bjd !

文章出处:【微信号:yikoulinux,微信公众号:一口Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高通工具SnapdragonProfiler的安装和基本使用说明

    看看Snapdragon Profiler 的说明 Snapdragon Profiler 是高通为开发者提供的众多的系统分析工具之一,该工具显示你的应用程序如何利用基于骁龙处理器的商业设备的软硬件
    发表于 09-19 17:50

    在Linux平台下面安装Maven步骤说明

    构建、报告和文档等步骤。曾是Jakarta项目的子项目,现为独立Apache项目。  那么,如何在Linux平台下面安装Maven呢?下面说明如何
    发表于 07-23 06:14

    常用根文件系统构建工具有哪些

    11、/mnt目录12、/tmp目录二、常用根文件系统构建工具简介1、BusyBox工具2、Buildroot工具3、Yocto工具一、
    发表于 11-05 07:28

    RT-Thread系统中的Scons构建工具资料推荐

    原因,Makefile 的语法比较混乱,不利于初学者学习。此外在 Windows 平台上使用 Make 也不方便,需要安装 Cygwin 环境。为了克服 Make 的种种缺点,人们开发了其他构建工具,如
    发表于 05-07 15:35

    如何使用xmake工具来编译rt-thread工程

    在最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程。xmake介绍xmake 是一个基于 Lua 的轻量级
    发表于 06-08 15:05

    smart-build工具的menuconfig整体设计

    ||───platform.lua|───toolchains// 工具链||───aarch64.lua||───arm.lua|───xmake.lua│README.md// 工具使用说
    发表于 08-26 15:32

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

    简介xmake-gradle是一个插件xmake的gradle。准备工作我们需要安装安装xmake
    发表于 08-26 16:01

    如何用一套代码运行多操作系统应用

    如下,涵盖了从创建工程到运行打包的常用功能: 命令行工具 6、平台能力——DevEco Studio
    发表于 02-08 14:46

    RVCT 3.0 SP1构建工具-错误和警告

    本文档说明了ARM RealView编译工具3.0、3.0 Service Pack 1和后续3.0补丁的构建工具生成的错误和警告消息。 如果您使用的是ADS(ADS 1.2、1.1或1.0.1)或
    发表于 08-16 06:30

    MTKTrace工具Catcher使用说明

    MTKTrace工具Catcher使用说明(电源技术应用杂志社)-MTKTrace工具Catcher使用说明                  
    发表于 09-15 11:13 9次下载
    MTKTrace<b class='flag-5'>工具</b>Catcher<b class='flag-5'>使用说明</b>

    经纬仪简介使用说明

    经纬仪简介使用说明
    发表于 01-14 11:01 2次下载

    xmake轻量级跨平台构建工具介绍及安装与使用方法

    在最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程。
    的头像 发表于 05-11 10:31 1912次阅读

    如何使用xmake工具来编译rt-thread工程

     在最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程。   
    的头像 发表于 05-11 15:03 1956次阅读
    如何使用<b class='flag-5'>xmake</b><b class='flag-5'>工具</b>来编译rt-thread工程

    推荐一款现代高效的java构建工具

    相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具
    的头像 发表于 02-24 11:22 558次阅读

    RT-Thread CMake构建工具

    RT Thread原生使用的构建工具是SCons,编译工具链使用官方提供的env工具,内含多种嵌入式常用的编译环境和脚本,可以算得上环境万能百宝箱。
    的头像 发表于 10-12 17:06 458次阅读
    RT-Thread CMake<b class='flag-5'>构建工具</b>