80 lines
2.6 KiB
Markdown
80 lines
2.6 KiB
Markdown
# 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",
|
||
```
|