嵌入式大杂烩周记 | 第 12 期

举报
嵌入式大杂烩 发表于 2022/05/16 23:14:43 2022/05/16
【摘要】 大家好,我是杂烩君。 嵌入式大杂烩周记主要是一些实用项目学习分享,每周一篇,每篇一个主题。 内容主要来源于我们之前收集的资料: https://gitee.com/zhengnianli/EmbedSummary 最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程:使用...

大家好,我是杂烩君。

嵌入式大杂烩周记主要是一些实用项目学习分享,每周一篇,每篇一个主题。

内容主要来源于我们之前收集的资料:

https://gitee.com/zhengnianli/EmbedSummary

最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程:使用 xmake 工具编译 rt-thread 工程

本期主角:xmake

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

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

xmake官网:

https://xmake.io/

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

fe26f4669625f447a46bf4cbec2dee89.png

3、支持的语言

  • C/C++

  • Objc/Objc++

  • Swift

  • Assembly

  • Golang

  • Rust

  • Dlang

  • Fortran

  • Cuda

  • Zig (Experimental)

4、编译测试

多任务并行编译测试:

52fe387f011323645acece52035ea763.png

单任务编译测试:

83e47bb13c89719a3aa57c0b7b3499ba.png

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

xmake的使用

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

针对不同的环境,xmake有多种安装方式。

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

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

或:

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

下面我们使用curl来安装:

2dc9b804f9e09342e46b66e505906e87.png 32bc0b4342cfe6ff3f80236577c87767.png

xmake的参数很丰富,通过命令 xmake create --help 来查看:

9c9d899c25275b4781dd904ae39283bb.png

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

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

xmake create -l c -P ./c_test
1f754f3d5b53b67df295800d1e545e69.png

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

xmake create -l c++ -P ./cpp_test
a4ad12e90f933288652a5e72868ea334.png

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

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

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

构建工程,输入命令 xmake

1a27adea5a5bfef13544fcff18d9ae93.png

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

5cebff8e00c4ee57fa903fda35c88892.png

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

20f6cb2ffe2e7511950bec0821129365.png

如果觉得文章有帮助,麻烦帮忙点赞、收藏、转发,谢谢!

咱们下期见~

猜你喜欢:

嵌入式大杂烩周记 | 第 8 期 AMetal

嵌入式大杂烩周记 | 第 7 期 zlog

嵌入式大杂烩周记 | 第 6 期 FlexibleButton

嵌入式大杂烩周记 | 第 5 期 smartlink

嵌入式大杂烩周记 | 第 4 期 cola_os

嵌入式大杂烩周记 | 第 3 期 sys/queue.h

嵌入式大杂烩周记 | 第 2 期 llgui

嵌入式大杂烩周记 | 第 1 期 gear-lib

在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。

文章来源: blog.csdn.net,作者:嵌入式大杂烩,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zhengnianli/article/details/124762981

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200