ros noetic
编译realsense2_camera
功能包时出错:
-- +++ processing catkin package: 'realsense2_camera'
-- ==> add_subdirectory(realsense-ros/realsense2_camera)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
CMake Warning at realsense-ros/realsense2_camera/CMakeLists.txt:44 (find_package):
By not providing "Findrealsense2.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"realsense2", but CMake did not find one.
Could not find a package configuration file provided by "realsense2"
(requested version 2.50.0) with any of the following names:
realsense2Config.cmake
realsense2-config.cmake
Add the installation prefix of "realsense2" to CMAKE_PREFIX_PATH or set
"realsense2_DIR" to a directory containing one of the above files. If
"realsense2" provides a separate development package or SDK, be sure it has
been installed.
CMake Error at realsense-ros/realsense2_camera/CMakeLists.txt:48 (message):
Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases
分析: 缺少librealsense SDK库和依赖;
更新环境&安装依赖:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
sudo apt-get install libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev
sudo apt-get install git wget cmake build-essential
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
安装librealsense2:
git clone https://github.com/IntelRealSense/librealsense.git
./scripts/setup_udev_rules.sh
#下面这一步运行后询问是否应用补丁,我选择了否
./scripts/patch-realsense-ubuntu-lts-hwe.sh
构建librealsense2 SDK:
cd /home/mrips/librealsense #cd到librealsense目录下
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local #编译到系统目录
make
sudo make install
编译完成后可以在librealsense/build/
路径下看到realsense2Config.cmake
文件
但是当我们再次编译工作空间下的realsense2_camera
功能包时会出现如下error:
CMake Error at /home/mrips/librealsense/build/realsense2Config.cmake:35 (include):
include could not find load file:
/home/mrips/librealsense/build/realsense2Targets.cmake
CMake Error at /home/mrips/librealsense/build/realsense2Config.cmake:11 (message):
File or directory usr/local/include referenced by variable
realsense2_INCLUDE_DIR does not exist !
分析: 这是realsense2Config.cmake
文件的配置路径不正确导致的,在realsense2Config.cmake
文件中找到下面这两句并修改相应路径 (上面我在编译时将生成的路径改为了/usr/locol
,因此这里在这个路径下寻找):
set_and_check(realsense2_INCLUDE_DIR "/usr/local/include")
include("/usr/local/lib/cmake/realsense2/realsense2Targets.cmake")