# fancy_code **Repository Path**: xiaojiazhu/fancy_code ## Basic Information - **Project Name**: fancy_code - **Description**: 跨平台SDK。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-11 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1. README ## 1.1. 概述   基于IPC领域产品的SDK工程。 阅读小技巧: * SDK工程所有开发文档均使用markdown语法编写,需要使用markdown语法解析器进行解析,方便阅读,如:Typora;开发工程师建议使用vscode安装markdownlint插件进行阅读; * SDK工程所有文档描述路径时,"//"双斜杠表示工程根目录; ## 1.2. 开发环境准备   工程的开发,需要预安装一些开发工具。例如:cmake的特定版本,llvm工具等。 ### 1.2.1. cmake安装   cmake是一个跨平台的安装(编译)工具,它是由Kitware公司开发的一个开源软件,可以用来配置、构建、编译一个工程。 ```code # 项目根目录执行: $ make install_cmake ``` ### 1.2.2. llvm工具安装   LLVM是一个编译器工具链,包含clang编译器、llvm核心库等。此处只用了clang-tidy和clang-format工具,一个负责编码规范,一个负责代码格式化。 ```code # 项目根目录执行: $ make compile_llvm ``` ## 1.3. 编译   架构设计上支持去平台编译和运行,本仓库源码可仿真运行在ubuntu系统。 ### 1.3.1. Ubuntu系统 在项目根目录下执行命令: ```code $ make clean // 如果之前有跨平台编译过,需要先make clean $ make cmake // 构建源码,生成Makefile文件 $ cd cmake-shell/ // 在中间文件目录进行编译,把所有中间文件创建在此目录 cmake-shell$ make // 编译全部输出构建文件 $ ``` ### 1.3.2. 交叉编译 参考: ```code //build/cmake/toolchain/linux.toolchain.cmake //Makefile ```   参考上述文件新建一份配置文件,建议不要修改原文档,新建一个交叉编译工程,把IPC SDK工程作为子仓库进行git管理,维护SDK的绝对跨平台属性。   交叉编译请参考基于IPC SDK作为子仓库的工程配置,此处忽略。 ### 1.3.3. 超级编译   超级编译是指,在基于IPC SDK作为子仓库的交叉编译工程中,执行超级编译脚本,同时编译出Linux X86和ARM平台的二进制文件。此时可以在ubuntu系统进行基础功能的调试和开发,初步验证后再交叉编译在目标开发板进行验证,减少频繁进行板载验证。 **超级编译请在首次拉取代码时执行下述命令:** ```code $ make cmake // 构建源码,生成Makefile文件 $ cd cmake-shell/ // 在中间文件目录进行编译,把所有中间文件创建在此目录 cmake-shell$ make supper_compile // 超级编译,需要漫长的等待 $ ``` ## 1.4. 小技巧 ### 1.4.1. 代码阅读辅助工具(基于vscode)   为了方便代码跳转阅读,除了安装基本的c++插件外,结合cmake构建工具生成的compile_commands.json文件可实现代码之间的精准跳转。 **compile_commands.json文件生成路径:** ```code //cmake-shell/compile_commands.json ``` **compile_commands.json文件配置方法:** ```code 在//.vscode/settings.json配置文件中添加: "C_Cpp.default.compileCommands": "/home/xiaojiazhu/project/ipc-sdk/ipc/cmake-shell/compile_commands.json", ``` ## 1.5. SDK git 提交规范 在确认代码编译/测试通过后,执行下述流程进行提交。 ```code $ cd 项目根目录 $ make cmake # 目的是重新捕获最新的修改文件 $ cd cmake-shell/ cmake-shell$ make improve_modified_code # 统一规范格式化代码 cmake-shell$ cd - # 返回项目根目录 # 此处省略代码自查,避免提交了不应该提交的代码或者文件 $ git add . # 添加修改文件,也可以根据需要一个一个文件添加 $ git commit -m "message" # 保存代码在本地,一定要先保存,避免合并发生冲突 $ git pull origin xxxxxx # 拉取远端代码进行合并,一定要先拉取远端代码,否则可能会冲突无法上传 # gig pull之后可能会存在冲突,此处省略解决冲突流程 $ git push origin xxxxxx:xxxxxx # 上传代码到远端 ``` ## 1.6. 自动化测试 ```code $ cd cmake-shell/ cmake-shell$ make HuntingCameraTest_Report # 自动化测试命令 $ ``` ## 1.7. 分支管理