硬件要求:
ARM架构仅支持jetson nano 和 jetson TX2(只能用于body sdk)
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/973
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/918
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/671
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/pull/870
官网下载 Azure Kinect SDK源码驱动包
git clone -b v1.2.0 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git
#下载 libdepthengine.so.2.0文件
文件链接:https://packages.microsoft.com/ubuntu/18.04/prod/pool/main/libk/选择libk4a1.2
解压缩deb文件,获得libdepthengine.so.2.0,然后把libdepthengine.so.2.0复制到/usr/lib/x86_64-linux-gnu/文件夹中。使用指令
cp ./libdepthengine.so.2.0 /usr/lib/x86_64-linux-gnu/
下载依赖项
cd Azure-Kinect-Sensor-SDK
sudo ./scripts/bootstrap-ubuntu.sh
这里会有些依赖项下载失败,可以手动去下载。在路径 ./scripts/bootstrap-ubuntu.sh下打开bootstrap-ubuntu.sh文件,使用sudo apt install + 对应的依赖库进行下载。我在编译过程报错**CMake Error: CMake was unable to find a build program corresponding to “Ninja”. **,原因是缺少ninja-build库,手动安装后成功解决。
https://blog.csdn.net/qiuguolu1108/article/details/103842556
升级cmake以及编译SDK
- 要求cmake版本大于3.9.0。使用 cmake --version 查看cmake版本
cmake卸载与升级:
卸载:
如果是通过sudo apt-get install cmake 安装的,直接使用指令:
sudo apt-get remove cmake
如果是从源码安装,以上删除方式则不能成功删除,因此对于源码安装的cmake,首先到cmake的安装目录下找到install_manifest.txt,txt中保存了所有cmake的附属文件的安装目录,将txt中显示的文件全部删除,即可完成对于cmake的卸载。例如,博主的文件安装路径为/usr/local/share/cmake* 、/usr/local/bin/cmake*等,执行以下命令:
sudo rm -rf /usr/local/share/cmake*
cat install_manifest.txt | sudo xargs rm
完全删除后,通过cmake --version查看cmake版本信息,即可发现原来的cmake不见了。然后就可以安装所需要版本的cmake。
安装:
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
tar -xvf cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
sudo make
sudo make install
hash -r
cmake --version
修改环境变量:
在./cmake-3.9.2/bin/路径下找到cmake,右键属性复制其路径。接下来,在解压后的文件夹下启动命令框,打开 “bashrc”
gedit ~/.bashrc
在打开的记事本里面,在最后一行添加
export PATH=/home/******/cmake-3.9.1-Linux-x86_64/bin:$PATH 其中 ****** 就是 刚才复制的 cmake属性的位置
保存后,在终端输入,再次查看cmake版本法线已经升级成功了。
source ~/.bashrc
运行报错:cmake报Modules directory not found in错误解决方案
yum remove cmake
cd /path/to/cmake-3.10.2
// 先执行
./bootstrap --prefix=/usr
make
sudo make install
编译SDK
安装准备:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
sudo apt-get upgrade libstdc++6
进入到Azure-Kinect-Sensor-SDK文件夹中(如果之前已经生成过build文件,删掉重新mkdir,建议备份extern文件夹,不然每次cmake都会重新下载,或者直接修改git link),一次输入指令
mkdir build
cd build
cmake .. -GNinja
ninja
sudo ninja install
cmake过程需要自动下载一些文件,但会有一些无法自动下载,可以使用ctrl + h查看隐藏文件,找到.gitmodules文件,里边是extern中需要自动下载的文件分别对应的下载链接,可以手动拷贝进行下载。(其中libyuv链接使用:https://github.com/lemenkov/libyuv)。安装完成后重新执行 cmake … -GNinja
启动:
sudo ./bin/k4aviewer
如果不想使用sudo 先执行
sudo cp scripts/99-k4a.rules /etc/udev/rules.d/
cmake -GNinja报错:
CMake Error at cmake/k4aTest.cmake:151 (gtest_discover_tests):
原因:cmake版本原因,gtest_discover_tests是cmake-1.10的指令。参考链接:https://cmake.org/cmake/help/v3.10/module/GoogleTest.html