Ubuntu 20.04下CLion集成librealsense出现OpenGL未定义引用报错
问题原因
编译报错属于典型的链接缺失问题:你仅链接了realsense2核心库,而引入的example.hpp中封装了大量OpenGL绘图逻辑,相关接口实现不在realsense2库内,需要额外链接OpenGL、GLU、glfw依赖才能完成编译。librealsense自带示例默认配置了这些链接参数,所以可以正常编译。
解决步骤
1. 安装系统依赖
先执行以下命令安装OpenGL相关开发包:
sudo apt install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev
2. 修改根目录CMakeLists.txt
替换原有内容为以下配置:
cmake_minimum_required(VERSION 3.2) project(RS_Pipeline LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 11) set(OpenGL_GL_PREFERENCE LEGACY) # 查找系统OpenGL依赖 find_package(OpenGL REQUIRED) add_executable(RS_Pipeline main.cpp librealsense/examples/example.hpp) add_subdirectory(librealsense) # 补充链接所有缺失的依赖库 target_link_libraries(${PROJECT_NAME} realsense2 OpenGL::GL OpenGL::GLU glfw )
3. 重新编译
清除原有CMake缓存(删除项目下的cmake-build-release目录,或在CLion中点击File -> Reload CMake Project),再重新执行构建即可。
内容的提问来源于stack exchange,提问作者Lukas Rauch
相关产品推荐
相关产品推荐

