网站首页 > 教程文章 正文
今天给大家推荐个好工具,可以用来自动生成mdk、iar、makefile工程。比如我项目的的源码最开始是别人用makefile来实现编译的,但是我比较熟悉keil或者iar,想重新创建这两个工程是不是要重新再分别建立一个keil工程和iar工程。然后手动把依赖的源码和头文件分别再添加到工程里面去。
实际上不用那么麻烦,给大家推荐个工具:project-generator。这个是arm开发的一个python工具,你只需要根据他的格式写出来yaml文件(这个文件格式比makefile容易理解的多,格式很简单),然后就可以一劳永逸,想生成makefile、mdk、iar工程都可以。
它目前支持生成如下这么多种工程:
这个工具是需要python的,所以使用之前需要先安装python。之后执行:pypi - project generator用来安装该工具。
这个工具支持有5个常用的命令,每个命令下又会有一些子命令,如下所示:
inti:为一个目录创建project record,即自动生成yaml文件
- -p:
- -tar:工程名称
- -dir:要扫描的目录
- -o:产生文件的目录
genarate:到处定义的工程
- -f projects.yaml 文件目录
- -p project 名字,如果不指定会根据yaml文件中描述的到出
- -t tool name(即到出的IDE,keil 或者iar 或者makefile等等)。
- -b 编译到出的工程,不是所有的tool都支持编译工程的
- -c 将工程所需要的文件拷贝到另外一个目录中
build:这个命令会先到处一个工程,然后再进行编译
- -f
- -p
- -c
list:列出目标,工具或者工程
- targets:列出所有目标
- tools:列出所有的工具支持
- projects:列出所有工程,需要添加-f 参数来指定yaml文件
- -f:
clean:移除产生的文件和目录
- -f
- -p
- -t
这个工具还是开源的,大家可以看官方的使用说明和源码进行更深入的研究。
说明地址:
https://github.com/project-generator/project_generator/wiki
源码地址:
https://github.com/project-generator/project_generator
猜你喜欢
- 2025-07-06 一个可以用来练手的C++开源编译器!
- 2025-07-06 Linux开发工具使用指南(linux软件开发工具)
- 2025-07-06 Linux下Makefile文件的模式规则和自动化变量
- 2025-07-06 程序员的副业秘籍!一款可以快速搭建各类系统的后台管理系统
- 2025-07-06 postgresql自定义函数实现,通过contrib模块进行扩展
- 2025-07-06 Linux GCC编译及Makefile使用(gcc makefile编写)
- 2025-07-06 wordpress独立站上线两周没收录?原来是robots.txt搞的鬼…
- 2025-07-06 make sure用法解析(make sure sth)
- 2025-07-06 每天一个 Python 库:Django全能Web框架,一站式后台开发
- 2025-07-06 Makefile实践(makefile经典教程)
- 最近发表
-
- 一个可以用来练手的C++开源编译器!
- Linux开发工具使用指南(linux软件开发工具)
- Linux下Makefile文件的模式规则和自动化变量
- 程序员的副业秘籍!一款可以快速搭建各类系统的后台管理系统
- postgresql自定义函数实现,通过contrib模块进行扩展
- Linux GCC编译及Makefile使用(gcc makefile编写)
- wordpress独立站上线两周没收录?原来是robots.txt搞的鬼…
- make sure用法解析(make sure sth)
- 每天一个 Python 库:Django全能Web框架,一站式后台开发
- Makefile实践(makefile经典教程)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)