提交 2ca2ac3c authored 作者: ge xu's avatar ge xu

更新 README.md

上级 89087ad7
## 代码目录结构
# 代码目录结构
- hi3518: RN1 摄像头软件代码
- server: video gateway代码
- vendor: 所有第三方依赖库的代码和编译出来的 lib 和 include
## 编译步骤
- 环境设置
- 安装XM提供的编译包: 链接: https://pan.baidu.com/s/1jx9PSU5Xqtu336Y3J0GDYQ 提取码: auw7
- clone源代码
- clone vendor目录下各依赖的第三方库以及ffmpeg源代码并编译安装
- 其中 fmt, zmq, jsoncons, spdlog 是hi3518及server都用到的
- libav*(ffmpeg)只有server用到
- paho.mqtt.c只有hi3518用到
# 编译步骤
## 环境设置
### 手动准备环境
- 安装XM提供的编译包: 链接: https://pan.baidu.com/s/1jx9PSU5Xqtu336Y3J0GDYQ 提取码: auw7
解压, 然后编译
编译的时候需要修改默认安装路径,
- hi3518用到的库的安装路径是 <source_path>/vendor/hi3518
- server用到的库的安装路径是 <source_path>/vendor/x64
CMAKE 选项: -DCMAKE_INSTALL_PREFIX=<路径>
### 虚拟机镜像
- 下载 virtual box 的虚拟机镜像到本地 url:
- 使用 virtual box 导入虚拟机
- clone源代码
- 把宿主机含有代码的路径 mount 到虚拟机中. 虚拟机的 root 密码为 123456
- 目前虚拟机镜像的 mount 路径为/mnt/shared 第一次导入的时候会提示, 可以修改成指定的路径.
configure 选项: --prefix=<路径>
- 对应目录下的CMakeLists.txt进行编译即可
### 切换交叉编译环境
```
su -
source /root/setenv.sh
```
### 编译依赖库
- clone vendor目录下各依赖的第三方库以及ffmpeg源代码并编译安装
- 其中 fmt, zmq, jsoncons, spdlog 是hi3518及server都用到的
- libav*(ffmpeg)只有server用到
- paho.mqtt.c只有hi3518用到
- 可以直接到 github 中按照依赖库的名字搜索. 下载 latest release 的 zip 包到任意路径, 然后按照github 仓库中的 readme 进行编译和安装.
- 这里需要注意的是, 如果宿主机是 windows 或者 mac, mount 到虚拟机中的路径不支持创建 symlink. 所以不能下载到 mount 的路径下编译. 需要copy 到虚拟机中的其他目录.
编译完成之后再把 lib 和 include 里的内容 copy 到 相应的路径中, 例如vendor/hi3518/include
- 指定安装路径的方法是指定 cmake 的参数 -DCMAKE_INSTALL_PREFIX 例如
-
```
mkdir build
mkdir /root/build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/root/build ..
make install
## copy inlude 和 lib 中的内容
```
- hi3518用到的库的安装路径是 <source_path>/vendor/hi3518
- server用到的库的安装路径是 <source_path>/vendor/x64
### 编译
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论