1. abuild介绍abuild是一个c/c++开发工具。 y2603012723@163.com为联系邮箱。 git仓库:https://github.com/Y2603012723/abuild.git,上面有更全面的说明文档,在linux下c-c++开发指南-abuild目录和abuild的测试目录中。 1.1. 特性abuild插件可以自动识别工作目录下的所有源码,自行编译,目前只支持linux操作系统。 1.2. 依赖linux上需要安装clangd,bear,gcc/g++编译器,vscode需要安装clangd的插件,C/C++插件。 3. vscode插件安装3.1. abuild插件的安装1.打开vscode,点击扩展图标,搜索abuild进行安装 2.也可以采用vsix包进行安装 3.2. 其他插件的安装4. abuild的使用4.1. 创建工程先创建一个文件夹,再用vscode打开此文件夹,在此文件夹使用abuild创建工程 创建文件夹 vscode打开文件夹 ctrl + shift + p 搜索abuild,执行abuild创建工程命令 创建工程后会生成以下文件 并在下菜单栏出现以下交互选项 工程目录下是这样 abuild.json:是工程配置文件 interface.json:是工程交互选项记录文件 .clangd:是clangd配置参数文件 .gitignore:是生成的git忽略配置文件 main.cpp:是生成的程序模板 version.h:也是生成的程序模板 compiler-GCC XXX:是编译器选择交互选项 Debug:是编译类型选择交互选项 Executable file:是输出类型交互选项 Build:是编译动作执行按钮 Run:是运行动作执行按钮 LDebug:是本地调试仿真执行按钮 RDebug:是远程调试仿真执行按钮 clean:是清除编译输出执行按钮 4.2. 为老工程添加abuild管理拿一套工程源码 使用vscode打开工程源码文件夹 ctrl + shift + p,执行创建工程命令 4.3. 编译器设置与选择4.3.1. 编译器设置ctrl + shift + p 搜索abuild,执行abuild编译器选项编译命令 此命令会打开编译器配置文件,可以在此文件添加编译器 把之前安装的编译器添加配置项中,ctrl+s保存 4.3.2. 编译器选择点击编译器选择交互选项,即可为当前工程选择编译器 4.4. 编译类型选择可以选择debug版本或release版本 4.5. 输出类型选择可选择编译为动态库,静态库,执行程序 4.6. 编译点击编译动作执行按钮,在输出窗口(ABuild Output)中输出编译过程提示,此处可以查看编译错误 编译输出的文件方式为:shadow build,输出目录如下,debug在debug目录,release在release目录 4.7. 运行点击运行动作执行按钮,将在终端输出执行结果,编译类型为debug时执行,debug版本的执行文件,release版本的执行release版本的执行文件 4.8. 本地调试点击本地调试动作执行按钮,程序将自动调到程序入口处,点击上方调试步骤按钮可按行执行程序,左侧可以观测相关变量值情况 调试按钮有:继续、单步跳过、单步调试、重启、停止 4.9. 远程调试远程调试需要在目标机器上执行gdbserver启动执行文件,在abuild工程设置中设置远程调试ip与端口号,再点击远程调试动作执行按钮,启动远程调试 4.10. 清除工程输出文件点击清除工程输出按钮,将会删除shadow文件夹,比如编译类型为debug,则删除debug输出目录 4.11. 打包打包功能是在程序进行发布时使用,ctrl + shift + p,搜索abuild,找到打包命令 执行打包命令后,将会根据当前选择的输出类型:execuable file、static library、dnamic library,进行不同的打包 可执行文件打包,会将执行文件和packPath目录打包 静态库、动态库打包,这种方式将会将所有.h,生成的静态库或动态库、以及packPath目录进行打包 4.12. 传送可执行文件传送可执行文件的作用,用在远程调试上,通常我们调试嵌入式设备,会将主机与嵌入式设备进行网络连接,通过nfs将主机的目录挂载到嵌入式设备上,此时,我们设置传送目录,执行传送命令,即可将可执行文件复制到传送目录中,方便在嵌入式设备对可执行文件的运行 4.13. 重启智能提示语言服务器如果遇到智能提示有问题,可重启语言服务器,刷新智能提示,ctrl+shift+p 4.14. 设置项说明abuild.json设置项
interface.json本文件自动生成,不需要手动配置
.gitignore,为创建工程是默认的忽略文件
version.h文件里的版本,会自动根据abuild.json里设置的版本进行变化 abuild有三个设置项 Whether to refresh the smart prompt after compilation? 是否在每次编译后重启智能提示(语言服务器) Do you want to refresh the smart prompt after selecting the compilation type? 是否在选择编译类型后重启智能提示(语言服务器) Whether to refresh the smart prompt after selecting the compiler? 是否在选择编译器后重启智能提示(语言服务器) 默认都是开启的,但是由于语言服务器经常重启容易崩溃,我们也可以手动关闭一些重启 4.15. vscode中的clangd配置这里进行"clangd.arguments"的配置,因为abuild使用clangd,需要关闭与其冲突的"C_Cpp.intelliSenseEngine" clangd的配置问题处理:https://clangd.llvm.org/troubleshooting 如下是clangd配置的一些解释,使用时,默认可不必进行配置
4.16. 疑难解答4.17. Release Notes4.17.1. 0.0.8初始版本 4.17.2. 0.0.9Fixed issue #. 4.17.3. 0.0.10Added features X, Y, and Z. |