Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Cmake
SCons
RT Thread CMake构建工具
发布于 2023-02-19 19:09:11 浏览:435
订阅该版
[tocm] ### 前言 RT Thread原生使用的构建工具是SCons,编译工具链使用官方提供的env工具,内含多种嵌入式常用的编译环境和脚本,可以算得上环境万能百宝箱。SCons构建后默认使用env工具包里面ARM GUN工具链完成编译链接操作。 在 [RT-Thread](https://bbs.elecfans.com/zhuti_emb_1.html) 4.1.0 正式发布版中,添加了对 CMake 的支持。[开发者](https://bbs.elecfans.com/group_1231)可以使用 SCons 工具来生成 CMakeLists.txt 文件。 > **为何要支持 CMake** - **社区反馈**;社区不少开发者表示希望 rt-thread 能够支持使用 CMake 构建工程 - **国际化**;在全球开源社区,大部分项目使用 CMake 管理 - **多元化**;rt-thread 不仅支持 SCons,还支持了 CMake,开发者可以有更多的选择 下面将介绍如何使用CMake去构建RT Thread例子工程,使用2种不同方式,Ninja和Makefiles。 ### 环境安装 **https://www.rt-thread.org/download.html#download-rt-thread-env-tool**  env工具已经包含了make和ARM GNU,python等常用的工具。 根据提示安装完成后,把根目录下**Bin**文件添加进系统环境变量 ``` <根目录>\env_released_1.x.0\env\tools\bin ``` #### Ninja 下载 & 安装 git clone https://gitee.com/mirrors/ninja.git ``` cd ninja cmake -Bbuild-cmake cmake --build build-cmake ``` 最后可以在 ninja\build-cmake\Debug 路径下找到可执行程度 ninja.exe 把它放到系统环境变量即可。 ### 工程构建 首先使用SCons生成cmake编译规则 ``` scons --target=cmake ``` #### Ninja 新建一个文件夹存储工程临时文件,例如:build_ninja ``` cd build_ninja cmake -G Ninja ../ ``` 开始编译 ``` ninja 或 cmake --build . ```  #### Makefiles 新建一个文件夹存储工程临时文件,例如:build_make ``` cd build_make cmake -G "MinGW Makefiles" ../ ``` 开始编译 ``` cmake --build . ``` 
3
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
bevis
这家伙很懒,什么也没写!
文章
2
回答
266
被采纳
0
关注TA
发私信
相关文章
1
scons不支持python3吗?
2
编译又出现问题
3
BSP目录下做好一个项目后,怎么把发给别人的包裁剪的小...
4
为什么重新scons --target=mdk 后,以前在MDK工程里保存的C文
5
Scons 添加Group,SConscript已经执行,源码却没有添加进工程
6
scons如何指定输出目录?
7
新人求助。
8
想用env 工具自己构建编译环境想用vscode 进行一些简单程序
9
关于scons脚本问题
10
使用scons --target=makefile的问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
stm32
ESP8266
rt-smart
WIZnet_W5500
RTC
flash
ota
UART
FAL
packages_软件包
I2C
freemodbus
cubemx
潘多拉开发板_Pandora
定时器
PWM
BSP
ADC
socket
AB32VG1
SDIO
keil_MDK
中断
消息队列_msg_queue
编译报错
Debug
C++_cpp
msh
QEMU
SFUD
MicroPython
本月问答贡献
出出啊
1463
个答案
324
次被采纳
小小李sunny
1379
个答案
274
次被采纳
张世争
700
个答案
155
次被采纳
crystal266
518
个答案
152
次被采纳
whj467467222
1215
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
11
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
4
篇文章
6
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
4
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部