树莓派4b+部署realsense的踩坑问题小记(undefined reference of “

树莓派4b+部署realsense的踩坑问题小记(undefined reference of “

本文并不基于ubuntu部署,而是基于官方的raspbianOS部署

0.全局代理

如果你有魔法并且有Clash的话,建议在clash上启用AllowLAN,配置默认端口7890,然后在树莓派上配置全局代理:

export http_proxy=”http://ip:port”export https_proxy=”http://ip:port”

如果要取消全局代理:

unset http_proxyunset https_proxy

设置git代理:

git config –global http.proxy ‘http://ip:port’git config –global https.proxy ‘http://ip:port’

取消git代理:

git config –global –unset http.proxygit config –global –unset https.proxy 1.扩大内存

默认的swap分区太小,编译时容易卡死,并且不会报错,所以首先要扩大swap分区。同时,可以用带有资源监控的SSH客户端(比如FinalShell)来操作。

free -mcd /opt/ && sudo mkdir swap_2g && cd swap_2gsudo touch swapsudo dd if=/dev/zero of=/opt/swap_2g/swap bs=1024 count=2048000sudo mkswap /opt/swap_2g/swapsudo swapon /opt/swap_2g/sawpsudo echo “/opt/swap_temp/sawp /swap swap defaults 0 0” >> /etc/fstab 2.安装依赖+切换编译器 sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgradesudo apt-get install -y git cmake libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-devsudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev

笔者在安装上述依赖后,编译会遇到undefined reference of “__atomic_load_8″一系列报错:

经过研究发现相关的库用到了原子操作(atomic库),该库在C++11中正式被支持,且需要加入编译选项 − l a t o m i c -latomic −latomic。

而树莓派默认GCC版本过低,是无法编译的。因此要安装需要切换默认编译器为Clang来编译(不推荐交叉编译,建议直接用最新的clang来编译)。

安装Clang:

sudo apt-get install llvmsudo apt-get install clang

切换编译器:

sudo update-alternatives –config c++

在该页面选择Clang即可:

There are 2 choices for the alternative c++ (providing /usr/bin/c++). Selection Path Priority Status————————————————————* 0 /usr/bin/g++ 20 auto mode1 /usr/bin/clang++ 10 manual mode2 /usr/bin/g++ 20 manual mode Press enter to keep the current choice[*], or type selection number: 1 3.下载SDK源码并编译安装

下载SDK:

git clone https://github.com/IntelRealSense/librealsense.git

编译准备:

cd librealsensemkdir build && cd buildcmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=false -DCMAKE_EXE_LINKER_FLAGS=”-latomic”

注意,一定要加-DCMAKE_EXE_LINKER_FLAGS=”-latomic”选项。

编译安装:

sudo make uninstall && make clean && make -j2 && sudo make install -2

编译安装完成后,移除摄像头设备,然后执行:

sudo ./scripts/setup_udev_rules.sh

注意该命令是在克隆的仓库根目录下执行的,或者直接找到script目录来执行脚本。

至此,安装完毕。

开启viewer的命令:

realsense-viewer


比丘资源网 » 树莓派4b+部署realsense的踩坑问题小记(undefined reference of “

提供最优质的资源集合

立即查看 了解详情