rust-cmaker
介绍
2023年了谁还在用传统cmake啊(大嘘)
用rust封装MinGW的gcc/g++等命令,方便一键在vscode中构建c/c++简单项目,灵感来自rust的包管理器cargo
现在是开发初期
快速使用
- 将本项目找个文件夹放好
- 本项目需要一个
MinGW并将其的bin目录放到你的环境变量里 - 如果可能请直接将
MinGW放到项目目录里,这样能省一点配置的时间
- 本项目需要一个
- 将本项目的bin目录加入到你的环境变量
- 目前
bin目录下应该只有一个名为rcm的可执行程序 - 本项目构建出来的程序就是这个程序
- 目前
- 找到你放c/c++项目的根目录, 输入
rcm new project创建一个名为project的新项目 - 进入生成的project文件夹, 用vscode打开它(
cd project;code .) - 在src目录下编写你的程序
- 使用
rcm run构建程序并运行, 或者你需要rcm build --release进行一个o3优化 - 你可以显式指定
MinGW文件夹的路径, 详情见rcm build -h,你或许可以用这个实现交叉编译 - 目前只能构建目录下
src/文件夹里的 .c/.cpp 文件 - 默认统一使用
g++指令来编译
已知问题
- 代码是赶出来的, 写的依托
- 没有链接库的功能
- 不能判断哪些文件是修改过的, 所以只能全部编译一遍, 很耗时, 而且大概率以后也不会改
- 只能指定目录下
src/文件夹里的内容来编译以及只能输出到target/bin/目录下, 之后或许会增加新的编译选项- 可能会影响到写学校的作业,但管他呢
- 需要手动配置环境变量
- 统一的用g++进行编译, 应该判断如果全是.c的文件就用gcc编译
rcm项目构建说明
- 默认情况下, rcm只会构建
root/src目录下的文件, 你应当将项目中的代码都放在此文件夹下, 这样你可以在根目录下放点别的, 比如一份README.md文档 - 如果
root/src中仅有一份.c或.cpp文件, 则会将它视为入口直接编译为一份二进制程序 root/src中同级目录下不应存在任何文件名相同但扩展名不同的文件, 比如main.cpp和main.c不应同时出现在root/src目录下- 默认情况下, 如果要构建二进制程序, src目录下应该放有一份
main.cpp或main.c作为入口, 你应该在这里放置主函数 - 默认情况下,
root/src/bin下的每一个.c/.cpp文件都会独立作为入口构建一份二进制程序, 每个入口程序间互不干扰绕 - 在构建时会忽略
*/test文件夹下的所有文件, 这样你可以写一点测试 - 推荐在
root/src的每个文件夹(包括src文件夹它自己)下放一份mod.h文件, 引用这个mod.h文件就可以声明该目录下所有应包括的头文件, 包括子目录。这样构建的库项目会很清晰
Languages
Rust
100%