跨平台构建工具,cmake是 yyds ? bjd !
时间:2021-11-04 16:16:31
手机看文章
扫描二维码
随时随地手机看文章
[导读]星标「嵌入式大杂烩」,一起进步!大家好,我是ZhengN。本次给大家分享一个优秀的跨平台构建工具。在我们嵌入式中,开发环境多种多样。在windows下进行开发,有各种好用的IDE给我们使用,我们可以图形化地创建工程、配置工程、编译工程。在Linux下,可能就iu没有那么“方便”了...
-
源文件较少时可以使用直接调用gcc工具进行编译。
-
源码文件较多时,可借用make工具。make通过解析Makefile文件来执行一些gcc命令进行编译。
-
简单的项目,Makefile还可以自己写一写。但实际项目中,我们很少直接编写Makefile,而是借助cmake工具来生成。cmake根据一个CMakeLists.txt文件来生成不同平台的Makefile文件,达到跨平台的作用。
-
反对学习cmake、CMakeLists.txt的理由大概是:增加学习成本、不跨平台不需要学 cmake等。
-
支持学习cmake、CMakeLists.txt的理由大概是:跨平台、管理大型项目简单、易扩展、高效率等。
xmake简介
同cmake一样,xmake也是一个跨平台的安装编译工具,是个国产工具。
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、编译测试
多任务并行编译测试:
xmake安装、使用
下面我们一起来安装、使用,直观地认识一下:
bash <(wget https://xmake.io/shget.text -O -)
或:
bash <(curl -fsSL https://xmake.io/shget.text)
下面我们使用curl来安装:
xmake的参数很丰富,通过命令 xmake create --help来查看:
我们可以直接通过命令来创建一个工程。
创建一个C语言工程,输入命令:
xmake create -l c -P ./c_test
创建一个C 工程,输入命令:
xmake create -l c -P ./cpp_test
这里的 -l参数指定工程所用的编程语言, -P参数指明工程的名称。其中xmake.lua就类似于cmake的CMakeLists.txt文件。里面的内容如:
target("c_test")
set_kind("binary")
add_files("src/*.c")
其语法类似于CMakeLists.txt但看起来比CMakeLists.txt更简洁。
构建工程,输入命令 xmake:
运行程序,输入命令 xmake run c_test:
调试程序,输入命令 xmake run -d c_test:
关于跨平台工具,目前用得比较多的自然是cmake,但大家也可以持续关注一下xmake这一款优秀的构建工具,说不定后面会火~
以上就是本次关于xmake的分享,咱们下期见~
往期推荐:
嵌入式状态机编程-QP状态机框架与常见状态机
Linux下嵌入式开发学习建议!
在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。
点击阅读原文,查看更多分享