Ubuntu 18.04编译Azure Kinect Sensor SDK v1.4.1

1 . 下载Azure Kinect Sensor SDK

git clone -b v1.4.1 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git

2. 把.gitmodules文件中的git地址,全部替换成gitee的地址

[submodule "extern/cjson/src"]
	path = extern/cjson/src
	url = https://gitee.com/ningdro/cJSON.git
[submodule "extern/azure_c_shared/src"]
	path = extern/azure_c_shared/src
	url = https://gitee.com/ningdro/azure-c-shared-utility.git
	branch = master
[submodule "extern/spdlog/src"]
	path = extern/spdlog/src
	url = https://gitee.com/ningdro/spdlog.git
[submodule "extern/libmatroska/src"]
	path = extern/libmatroska/src
	url = https://gitee.com/ningdro/libmatroska.git
[submodule "extern/libeml/src"]
	path = extern/libebml/src
	url = https://gitee.com/ningdro/libebml.git
[submodule "extern/imgui/src"]
	path = extern/imgui/src
	url = https://gitee.com/ningdro/imgui.git
[submodule "extern/googletest/src"]
	path = extern/googletest/src
	url = https://gitee.com/ningdro/googletest.git
[submodule "extern/glfw/src"]
	path = extern/glfw/src
	url = https://gitee.com/ningdro/glfw.git
[submodule "extern/libsoundio/src"]
	path = extern/libsoundio/src
	url = https://gitee.com/ningdro/libsoundio.git
[submodule "extern/libjpeg-turbo/src"]
	path = extern/libjpeg-turbo/src
	url = https://gitee.com/ningdro/libjpeg-turbo.git
[submodule "extern/libusb/src"]
	path = extern/libusb/src
	url = https://gitee.com/ningdro/libusb.git
[submodule "extern/libuvc/src"]
	path = extern/libuvc/src
	url = https://gitee.com/ningdro/libuvc.git
	branch = Azure-Kinect-Sensor-SDK

3. 安装CMake

$ sudo apt install cmake

4. 从.gitmodules文件中,删除libyuv相关的submodule配置

# git下载下来时,地址是:https://chromium.googlesource.com/libyuv/libyuv
[submodule "extern/libyuv/src"]
	path = extern/libyuv/src
	url = https://gitee.com/gezai.com/libyuv.git

5. 配置libyuv

// 删除文件夹
$ cd ${your_clone_dir}
$ rm -rf extern/libyuv/src
$ cd .git
// 删除libyuv相关
$ gedit config
$ git rm --cached extern/libyuv/src
$ git submodule add https://gitee.com/gezai.com/libyuv.git extern/libyuv/src

${your_clone_dir}/.git/config文件的内容最终如下:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = https://gitee.com/alimteach/Azure-Kinect-Sensor-SDK.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[submodule "extern/azure_c_shared/src"]
	active = true
	url = https://gitee.com/ningdro/azure-c-shared-utility.git
[submodule "extern/cjson/src"]
	active = true
	url = https://gitee.com/ningdro/cJSON.git
[submodule "extern/glfw/src"]
	active = true
	url =  https://gitee.com/ningdro/glfw.git
[submodule "extern/googletest/src"]
	active = true
	url = https://gitee.com/ningdro/googletest.git
[submodule "extern/imgui/src"]
	active = true
	url = https://gitee.com/ningdro/imgui.git
[submodule "extern/libeml/src"]
	active = true
	url = https://gitee.com/ningdro/libebml.git
[submodule "extern/libjpeg-turbo/src"]
	active = true
	url = https://gitee.com/ningdro/libjpeg-turbo.git
[submodule "extern/libmatroska/src"]
	active = true
	url = https://gitee.com/ningdro/libmatroska.git
[submodule "extern/libsoundio/src"]
	active = true
	url = https://gitee.com/ningdro/libsoundio.git
[submodule "extern/libusb/src"]
	active = true
	url = https://gitee.com/ningdro/libusb.git
[submodule "extern/libuvc/src"]
	active = true
	url = https://gitee.com/ningdro/libuvc.git
[submodule "extern/spdlog/src"]
	active = true
	url = https://gitee.com/ningdro/spdlog.git
[submodule]
	recurse = true

6.安装依赖

$ sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
$ sudo apt-get install uuid-dev
$ sudo apt-get install libssl-dev
$ sudo apt-get install libxrandr-dev
$ sudo apt-get install libxi-dev
$ sudo apt-get install libsdl2-dev

7.安装vulkan(官网:https://vulkan.lunarg.com/sdk/home)

$ wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
$ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.2.189-bionic.list https://packages.lunarg.com/vulkan/1.2.189/lunarg-vulkan-1.2.189-bionic.list
$ sudo apt update
$ sudo apt install vulkan-sdk

8.安装libusb

$ git clone -b v1.0.24 https://github.com/libusb/libusb.git
$ sudo apt-get install libudev-dev
$ sudo apt-get install automake
$ sudo apt-get install libtool
$ cd ${your_clone_libusb_dir}
$ sudo autoreconf -ivf
$ ./configure && make && make install

9. 编译Azure Kinect Sensor SDK

$ curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
$ sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod
$ sudo apt-get update
$ sudo apt install k4a-tools
$ sudo apt install libk4a1.4-dev
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get upgrade libstdc++6
$ sudo apt-get install libsoundio-dev
$ sudo apt-get install ninja-build
$ cd ${your_clone_sdk_dir}
$ mkdir build
$ cd build
// 下面这两部出错概率很大,出什么错就安装相应的包,之后重新执行相应命令即可
$ cmake .. -GNinja
$ ninja
$ sudo ninja install
$ ln -s ${your_clone_sdk_dir}/sdk/linux_gnu/amd64/release/lib/libdepthengine.so.2.0 ${your_project_dir}/Azure-Kinect-Sensor-SDK/build/bin/libdepthengine.so.2.0

10.使用clion新建c++ executable 工程

CMakeLists.txt文件内容:

cmake_minimum_required(VERSION 3.20)
project(AzureKinectSensor)

set(CMAKE_CXX_STANDARD 11)

# include_directories(yaml PUBLIC
#         ${your_clone_sdk_dir}/include
#        )

add_executable(yaml main.cpp)

target_include_directories(yaml PUBLIC
        ${your_clone_sdk_dir}/include
        )

target_link_libraries(yaml
        ${your_clone_sdk_dir}/build/bin/libk4a.so
        ${your_clone_sdk_dir}/build/bin/libk4arecord.so
        )

main.cpp内容:

#include <iostream>
#include "k4a/k4a.hpp"

int main() {
    std::cout << k4a_device_get_installed_count() << "Hello, World!" << std::endl;
    return 0;
}

运行结果:

$ 0Hello, World!

11.安装成功测试后记录,有问题欢迎咨询:ning.dr@foxmail.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangningboo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值