hunting/README.md
2024-07-13 21:34:28 +08:00

80 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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",
```