大家好,我是ZhengN。这次我想向大家介绍一个出色的跨平台构建工具。
在嵌入式开发领域,我们常常面临多样化的开发环境。在Windows平台,我们有许多功能强大的IDE供我们使用,可以轻松地创建、配置和编译项目。然而,在Linux平台上的开发就不是那么直观了。
进行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快速生成visual studio工程
xmake简介
同cmake一样,xmake也是一个跨平台的安装编译工具,是个国产工具。
之前分享的 TBOX | 一个用c语言实现的跨平台开发库,就是使用xmake来管理的。
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
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做了很详细的介绍,感兴趣的小伙伴可以自己去了解学习。
xmake安装、使用
下面我们一起来安装、使用,直观地认识一下:
针对不同的环境,xmake有多种安装方式。
Ubuntu下可使用wget或curl安装,安装命令:
bash
或:
bash
下面我们使用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的分享,咱们下期见~
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !