# 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/ // 在中间文件目录进行编译,把所有中间文件创建在此目录 make // 编译全部输出构建文件 ``` ### 1.3.2. 交叉编译 参考: ```code //build/cmake/toolchain/linux.toolchain.cmake //Makefile ```   参考上述文件新建一份配置文件,建议不要修改原文档,新建一个交叉编译工程,把IPC SDK工程作为子仓库进行git管理,维护SDK的绝对跨平台属性。   交叉编译请参考基于IPC SDK作为子仓库的工程配置,此处忽略。 ### 1.3.3. 小技巧 #### 1.3.3.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", ```