CMake C++ 项目 librealsense:使用 CLion 对 OpenGL 的未定义引用
CMake C++ Project librealsense: undefined reference to OpenGL with CLion
我正在尝试在 Ubuntu 20.04 上集成 librealsense C++ CLion 项目。
在终端中单独编译 Librealsense 工作正常。
项目如下所示:
RS_Pipeline
.
├── build
├── main.cpp
├── CMakeLists.txt
└── librealsense // the integrated lib
├── CMakeLists.txt
├── third-party // libs like GLFW and GLAD which are use in the examples
├── examples //
| ├── example.hpp // with class to generate OpenGL Window
└── ...
基本文件夹中的 CMakeLists.txt 看起来很简单:
cmake_minimum_required(VERSION 3.2)
project(RS_Pipeline LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 11)
set(OpenGL_GL_PREFERENCE LEGACY)
add_executable(RS_Pipeline main.cpp librealsense/examples/example.hpp)
add_subdirectory(librealsense)
target_link_libraries(${PROJECT_NAME} realsense2)
一旦我尝试将子模块包含到我的 CLion 项目中,我就会收到大量:main.cpp:(.text+0x23c): undefined reference to glViewport
错误消息,并且在基本目录中构建我的 main.cpp 失败。
不知何故 #include <librealsense2/rs.hpp> #include "librealsense/examples/example.hpp"
工作正常,甚至智能感知也能找到所有功能。
PLUS: librealsense 库中包含的示例也可以毫无问题地编译。 (他们使用完全相同的 #include "librealsense/examples/example.hpp"
.
看起来,CLion 没有 link 在我自己的 main.cpp 中找到合适的 openGL。如果我从 example.hpp.
中包含它
====================[ Build | RS_Pipeline | Release ]===========================
/snap/clion/175/bin/cmake/linux/bin/cmake --build /home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release --target RS_Pipeline
[0/1] Re-running CMake...
-- Checking internet connection...
-- Internet connection identified
-- Info: REALSENSE_VERSION_STRING=2.50.0
-- Setting Unix configurations
-- Building libcurl enabled
-- using RS2_USE_V4L2_BACKEND
-- Could NOT find apriltag (missing: APRILTAG_INC APRILTAG_LIB)
-- Unable to find apriltag library, skipping pose-apriltag example
-- Check for updates capability added to realsense-viewer
-- Check for updates capability added to realsense-depth-quality
-- Building with TM2
-- Fetching recommended firmwares:
-- D4XX_FW_VERSION: 5.13.0.50
-- SR3XX_FW_VERSION: 3.26.1.0
-- T26X_FW_VERSION: 0.2.0.951
-- L51X_FW_VERSION: 1.5.8.1
-- L53X_FW_VERSION: 3.5.5.1
-- https://librealsense.intel.com/Releases/RS4xx/FW/D4XX_FW_Image-5.13.0.50.bin
-- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for D4XX_FW_Image-5.13.0.50.bin
-- https://librealsense.intel.com/Releases/SR300/FW/SR3XX_FW_Image-3.26.1.0.bin
-- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for SR3XX_FW_Image-3.26.1.0.bin
-- https://librealsense.intel.com/Releases/TM2/FW/target/0.2.0.951/target-0.2.0.951.mvcmd
-- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for target-0.2.0.951.mvcmd
-- https://librealsense.intel.com/Releases/L5xx/FW/L51X_FW_Image-1.5.8.1.bin
-- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for L51X_FW_Image-1.5.8.1.bin
-- https://librealsense.intel.com/Releases/L5xx/FW/L53X_FW_Image-3.5.5.1.bin
-- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for L53X_FW_Image-3.5.5.1.bin
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release
[1/1] Linking CXX executable RS_Pipeline
FAILED: RS_Pipeline
: && /usr/bin/c++ -O3 -DNDEBUG -rdynamic CMakeFiles/RS_Pipeline.dir/main.cpp.o -o RS_Pipeline -Wl,-rpath,/home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release/librealsense librealsense/librealsense2.so.2.50.0 -lglfw && :
/usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `set_viewport(rect const&)':
main.cpp:(.text+0x23c): undefined reference to `glViewport'
/usr/bin/ld: main.cpp:(.text+0x241): undefined reference to `glLoadIdentity'
/usr/bin/ld: main.cpp:(.text+0x24b): undefined reference to `glMatrixMode'
/usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `draw_pointcloud(float, float, glfw_state&, rs2::points&)':
main.cpp:(.text+0x2bb): undefined reference to `glLoadIdentity'
/usr/bin/ld: main.cpp:(.text+0x2c5): undefined reference to `glPushAttrib'
/usr/bin/ld: main.cpp:(.text+0x2e0): undefined reference to `glClearColor'
/usr/bin/ld: main.cpp:(.text+0x2ea): undefined reference to `glClear'
/usr/bin/ld: main.cpp:(.text+0x2f4): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0x2f9): undefined reference to `glPushMatrix'
/usr/bin/ld: main.cpp:(.text+0x32a): undefined reference to `gluPerspective'
/usr/bin/ld: main.cpp:(.text+0x334): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0x339): undefined reference to `glPushMatrix'
/usr/bin/ld: main.cpp:(.text+0x36c): undefined reference to `gluLookAt'
/usr/bin/ld: main.cpp:(.text+0x394): undefined reference to `glTranslatef'
/usr/bin/ld: main.cpp:(.text+0x3b2): undefined reference to `glRotated'
/usr/bin/ld: main.cpp:(.text+0x3cf): undefined reference to `glRotated'
/usr/bin/ld: main.cpp:(.text+0x3e3): undefined reference to `glTranslatef'
/usr/bin/ld: main.cpp:(.text+0x3f6): undefined reference to `glPointSize'
/usr/bin/ld: main.cpp:(.text+0x400): undefined reference to `glEnable'
/usr/bin/ld: main.cpp:(.text+0x40a): undefined reference to `glEnable'
/usr/bin/ld: main.cpp:(.text+0x417): undefined reference to `glBindTexture'
/usr/bin/ld: main.cpp:(.text+0x437): undefined reference to `glTexParameterfv'
/usr/bin/ld: main.cpp:(.text+0x44b): undefined reference to `glTexParameteri'
/usr/bin/ld: main.cpp:(.text+0x45f): undefined reference to `glTexParameteri'
/usr/bin/ld: main.cpp:(.text+0x466): undefined reference to `glBegin'
/usr/bin/ld: main.cpp:(.text+0x516): undefined reference to `glEnd'
/usr/bin/ld: main.cpp:(.text+0x51b): undefined reference to `glPopMatrix'
/usr/bin/ld: main.cpp:(.text+0x525): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0x52a): undefined reference to `glPopMatrix'
/usr/bin/ld: main.cpp:(.text+0x52f): undefined reference to `glPopAttrib'
/usr/bin/ld: main.cpp:(.text+0x558): undefined reference to `glVertex3fv'
/usr/bin/ld: main.cpp:(.text+0x566): undefined reference to `glTexCoord2fv'
/usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `draw_pointcloud_wrt_world(float, float, glfw_state&, rs2::points&, rs2_pose&, float*, std::vector >&)':
main.cpp:(.text+0x98b): undefined reference to `glLoadIdentity'
/usr/bin/ld: main.cpp:(.text+0x995): undefined reference to `glPushAttrib'
/usr/bin/ld: main.cpp:(.text+0x9b0): undefined reference to `glClearColor'
/usr/bin/ld: main.cpp:(.text+0x9ba): undefined reference to `glClear'
/usr/bin/ld: main.cpp:(.text+0x9c4): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0x9c9): undefined reference to `glPushMatrix'
/usr/bin/ld: main.cpp:(.text+0x9fa): undefined reference to `gluPerspective'
/usr/bin/ld: main.cpp:(.text+0xa04): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0xa09): undefined reference to `glPushMatrix'
/usr/bin/ld: main.cpp:(.text+0xa2f): undefined reference to `glTranslatef'
/usr/bin/ld: main.cpp:(.text+0xa4a): undefined reference to `glRotated'
/usr/bin/ld: main.cpp:(.text+0xa65): undefined reference to `glRotated'
/usr/bin/ld: main.cpp:(.text+0xa79): undefined reference to `glTranslatef'
/usr/bin/ld: main.cpp:(.text+0xa83): undefined reference to `glEnable'
/usr/bin/ld: main.cpp:(.text+0xa90): undefined reference to `glLineWidth'
/usr/bin/ld: main.cpp:(.text+0xa9a): undefined reference to `glBegin'
/usr/bin/ld: main.cpp:(.text+0xac4): undefined reference to `glColor3f'
/usr/bin/ld: main.cpp:(.text+0xad8): undefined reference to `glVertex3f'
/usr/bin/ld: main.cpp:(.text+0xae2): undefined reference to `glEnd'
/usr/bin/ld: main.cpp:(.text+0xaef): undefined reference to `glLineWidth'
/usr/bin/ld: main.cpp:(.text+0xb02): undefined reference to `glColor3f'
/usr/bin/ld: main.cpp:(.text+0xb2f): undefined reference to `glMultMatrixf'
/usr/bin/ld: main.cpp:(.text+0xb37): undefined reference to `glMultMatrixf'
/usr/bin/ld: main.cpp:(.text+0xb4a): undefined reference to `glPointSize'
/usr/bin/ld: main.cpp:(.text+0xb54): undefined reference to `glEnable'
/usr/bin/ld: main.cpp:(.text+0xb5e): undefined reference to `glEnable'
/usr/bin/ld: main.cpp:(.text+0xb71): undefined reference to `glBindTexture'
/usr/bin/ld: main.cpp:(.text+0xb91): undefined reference to `glTexParameterfv'
/usr/bin/ld: main.cpp:(.text+0xba5): undefined reference to `glTexParameteri'
/usr/bin/ld: main.cpp:(.text+0xbb9): undefined reference to `glTexParameteri'
/usr/bin/ld: main.cpp:(.text+0xbc0): undefined reference to `glBegin'
/usr/bin/ld: main.cpp:(.text+0xc76): undefined reference to `glEnd'
/usr/bin/ld: main.cpp:(.text+0xc7b): undefined reference to `glPopMatrix'
/usr/bin/ld: main.cpp:(.text+0xc85): undefined reference to `glMatrixMode'
/usr/bin/ld: main.cpp:(.text+0xc8a): undefined reference to `glPopMatrix'
/usr/bin/ld: main.cpp:(.text+0xc8f): undefined reference to `glPopAttrib'
/usr/bin/ld: main.cpp:(.text+0xcc0): undefined reference to `glVertex3fv'
/usr/bin/ld: main.cpp:(.text+0xcce): undefined reference to `glTexCoord2fv'
/usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `set_viewport(rect const&)':
main.cpp:(.text+0x27b): undefined reference to `glOrtho'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
所有示例都包含 this file,而您不包含:
find_package(OpenGL REQUIRED)
set(DEPENDENCIES realsense2 glfw ${OPENGL_LIBRARIES})
这使得 realsense2
库依赖于 GLFW 和您的 OpenGL 堆栈。
将以下内容添加到您的 CMakeLists.txt:
find_package(OpenGL REQUIRED)
target_link_libraries(${PROJECT_NAME} glfw OpenGL::GL )
@Botje 非常感谢,太快了!现在它正在使用以下 CMakeLists:
cmake_minimum_required(VERSION 3.2)
project(RS_Pipeline LANGUAGES CXX C)
set(CMAKE_CXX_STANDARD 11)
set(OpenGL_GL_PREFERENCE LEGACY)
find_package(OpenGL REQUIRED)
add_executable(RS_Pipeline main.cpp librealsense/examples/example.hpp)
add_subdirectory(librealsense)
target_link_libraries(${PROJECT_NAME}
realsense2
glfw OpenGL::GL
glfw OpenGL::GLU
)
看来这个话题已经可以关闭了。
我正在尝试在 Ubuntu 20.04 上集成 librealsense C++ CLion 项目。
在终端中单独编译 Librealsense 工作正常。
项目如下所示:
RS_Pipeline . ├── build ├── main.cpp ├── CMakeLists.txt └── librealsense // the integrated lib ├── CMakeLists.txt ├── third-party // libs like GLFW and GLAD which are use in the examples ├── examples // | ├── example.hpp // with class to generate OpenGL Window └── ...
基本文件夹中的 CMakeLists.txt 看起来很简单:
cmake_minimum_required(VERSION 3.2) project(RS_Pipeline LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 11) set(OpenGL_GL_PREFERENCE LEGACY) add_executable(RS_Pipeline main.cpp librealsense/examples/example.hpp) add_subdirectory(librealsense) target_link_libraries(${PROJECT_NAME} realsense2)
一旦我尝试将子模块包含到我的 CLion 项目中,我就会收到大量:main.cpp:(.text+0x23c): undefined reference to glViewport
错误消息,并且在基本目录中构建我的 main.cpp 失败。
不知何故 #include <librealsense2/rs.hpp> #include "librealsense/examples/example.hpp"
工作正常,甚至智能感知也能找到所有功能。
PLUS: librealsense 库中包含的示例也可以毫无问题地编译。 (他们使用完全相同的 #include "librealsense/examples/example.hpp"
.
看起来,CLion 没有 link 在我自己的 main.cpp 中找到合适的 openGL。如果我从 example.hpp.
中包含它====================[ Build | RS_Pipeline | Release ]=========================== /snap/clion/175/bin/cmake/linux/bin/cmake --build /home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release --target RS_Pipeline [0/1] Re-running CMake... -- Checking internet connection... -- Internet connection identified -- Info: REALSENSE_VERSION_STRING=2.50.0 -- Setting Unix configurations -- Building libcurl enabled -- using RS2_USE_V4L2_BACKEND -- Could NOT find apriltag (missing: APRILTAG_INC APRILTAG_LIB) -- Unable to find apriltag library, skipping pose-apriltag example -- Check for updates capability added to realsense-viewer -- Check for updates capability added to realsense-depth-quality -- Building with TM2 -- Fetching recommended firmwares: -- D4XX_FW_VERSION: 5.13.0.50 -- SR3XX_FW_VERSION: 3.26.1.0 -- T26X_FW_VERSION: 0.2.0.951 -- L51X_FW_VERSION: 1.5.8.1 -- L53X_FW_VERSION: 3.5.5.1 -- https://librealsense.intel.com/Releases/RS4xx/FW/D4XX_FW_Image-5.13.0.50.bin -- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for D4XX_FW_Image-5.13.0.50.bin -- https://librealsense.intel.com/Releases/SR300/FW/SR3XX_FW_Image-3.26.1.0.bin -- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for SR3XX_FW_Image-3.26.1.0.bin -- https://librealsense.intel.com/Releases/TM2/FW/target/0.2.0.951/target-0.2.0.951.mvcmd -- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for target-0.2.0.951.mvcmd -- https://librealsense.intel.com/Releases/L5xx/FW/L51X_FW_Image-1.5.8.1.bin -- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for L51X_FW_Image-1.5.8.1.bin -- https://librealsense.intel.com/Releases/L5xx/FW/L53X_FW_Image-3.5.5.1.bin -- Download firmware 0;"returning early; file already exists with expected SHA1 hash" for L53X_FW_Image-3.5.5.1.bin -- Configuring done -- Generating done -- Build files have been written to: /home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release [1/1] Linking CXX executable RS_Pipeline FAILED: RS_Pipeline : && /usr/bin/c++ -O3 -DNDEBUG -rdynamic CMakeFiles/RS_Pipeline.dir/main.cpp.o -o RS_Pipeline -Wl,-rpath,/home/lukas/Development/Cpp/RS_Pipeline/cmake-build-release/librealsense librealsense/librealsense2.so.2.50.0 -lglfw && : /usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `set_viewport(rect const&)': main.cpp:(.text+0x23c): undefined reference to `glViewport' /usr/bin/ld: main.cpp:(.text+0x241): undefined reference to `glLoadIdentity' /usr/bin/ld: main.cpp:(.text+0x24b): undefined reference to `glMatrixMode' /usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `draw_pointcloud(float, float, glfw_state&, rs2::points&)': main.cpp:(.text+0x2bb): undefined reference to `glLoadIdentity' /usr/bin/ld: main.cpp:(.text+0x2c5): undefined reference to `glPushAttrib' /usr/bin/ld: main.cpp:(.text+0x2e0): undefined reference to `glClearColor' /usr/bin/ld: main.cpp:(.text+0x2ea): undefined reference to `glClear' /usr/bin/ld: main.cpp:(.text+0x2f4): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0x2f9): undefined reference to `glPushMatrix' /usr/bin/ld: main.cpp:(.text+0x32a): undefined reference to `gluPerspective' /usr/bin/ld: main.cpp:(.text+0x334): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0x339): undefined reference to `glPushMatrix' /usr/bin/ld: main.cpp:(.text+0x36c): undefined reference to `gluLookAt' /usr/bin/ld: main.cpp:(.text+0x394): undefined reference to `glTranslatef' /usr/bin/ld: main.cpp:(.text+0x3b2): undefined reference to `glRotated' /usr/bin/ld: main.cpp:(.text+0x3cf): undefined reference to `glRotated' /usr/bin/ld: main.cpp:(.text+0x3e3): undefined reference to `glTranslatef' /usr/bin/ld: main.cpp:(.text+0x3f6): undefined reference to `glPointSize' /usr/bin/ld: main.cpp:(.text+0x400): undefined reference to `glEnable' /usr/bin/ld: main.cpp:(.text+0x40a): undefined reference to `glEnable' /usr/bin/ld: main.cpp:(.text+0x417): undefined reference to `glBindTexture' /usr/bin/ld: main.cpp:(.text+0x437): undefined reference to `glTexParameterfv' /usr/bin/ld: main.cpp:(.text+0x44b): undefined reference to `glTexParameteri' /usr/bin/ld: main.cpp:(.text+0x45f): undefined reference to `glTexParameteri' /usr/bin/ld: main.cpp:(.text+0x466): undefined reference to `glBegin' /usr/bin/ld: main.cpp:(.text+0x516): undefined reference to `glEnd' /usr/bin/ld: main.cpp:(.text+0x51b): undefined reference to `glPopMatrix' /usr/bin/ld: main.cpp:(.text+0x525): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0x52a): undefined reference to `glPopMatrix' /usr/bin/ld: main.cpp:(.text+0x52f): undefined reference to `glPopAttrib' /usr/bin/ld: main.cpp:(.text+0x558): undefined reference to `glVertex3fv' /usr/bin/ld: main.cpp:(.text+0x566): undefined reference to `glTexCoord2fv' /usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `draw_pointcloud_wrt_world(float, float, glfw_state&, rs2::points&, rs2_pose&, float*, std::vector >&)': main.cpp:(.text+0x98b): undefined reference to `glLoadIdentity' /usr/bin/ld: main.cpp:(.text+0x995): undefined reference to `glPushAttrib' /usr/bin/ld: main.cpp:(.text+0x9b0): undefined reference to `glClearColor' /usr/bin/ld: main.cpp:(.text+0x9ba): undefined reference to `glClear' /usr/bin/ld: main.cpp:(.text+0x9c4): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0x9c9): undefined reference to `glPushMatrix' /usr/bin/ld: main.cpp:(.text+0x9fa): undefined reference to `gluPerspective' /usr/bin/ld: main.cpp:(.text+0xa04): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0xa09): undefined reference to `glPushMatrix' /usr/bin/ld: main.cpp:(.text+0xa2f): undefined reference to `glTranslatef' /usr/bin/ld: main.cpp:(.text+0xa4a): undefined reference to `glRotated' /usr/bin/ld: main.cpp:(.text+0xa65): undefined reference to `glRotated' /usr/bin/ld: main.cpp:(.text+0xa79): undefined reference to `glTranslatef' /usr/bin/ld: main.cpp:(.text+0xa83): undefined reference to `glEnable' /usr/bin/ld: main.cpp:(.text+0xa90): undefined reference to `glLineWidth' /usr/bin/ld: main.cpp:(.text+0xa9a): undefined reference to `glBegin' /usr/bin/ld: main.cpp:(.text+0xac4): undefined reference to `glColor3f' /usr/bin/ld: main.cpp:(.text+0xad8): undefined reference to `glVertex3f' /usr/bin/ld: main.cpp:(.text+0xae2): undefined reference to `glEnd' /usr/bin/ld: main.cpp:(.text+0xaef): undefined reference to `glLineWidth' /usr/bin/ld: main.cpp:(.text+0xb02): undefined reference to `glColor3f' /usr/bin/ld: main.cpp:(.text+0xb2f): undefined reference to `glMultMatrixf' /usr/bin/ld: main.cpp:(.text+0xb37): undefined reference to `glMultMatrixf' /usr/bin/ld: main.cpp:(.text+0xb4a): undefined reference to `glPointSize' /usr/bin/ld: main.cpp:(.text+0xb54): undefined reference to `glEnable' /usr/bin/ld: main.cpp:(.text+0xb5e): undefined reference to `glEnable' /usr/bin/ld: main.cpp:(.text+0xb71): undefined reference to `glBindTexture' /usr/bin/ld: main.cpp:(.text+0xb91): undefined reference to `glTexParameterfv' /usr/bin/ld: main.cpp:(.text+0xba5): undefined reference to `glTexParameteri' /usr/bin/ld: main.cpp:(.text+0xbb9): undefined reference to `glTexParameteri' /usr/bin/ld: main.cpp:(.text+0xbc0): undefined reference to `glBegin' /usr/bin/ld: main.cpp:(.text+0xc76): undefined reference to `glEnd' /usr/bin/ld: main.cpp:(.text+0xc7b): undefined reference to `glPopMatrix' /usr/bin/ld: main.cpp:(.text+0xc85): undefined reference to `glMatrixMode' /usr/bin/ld: main.cpp:(.text+0xc8a): undefined reference to `glPopMatrix' /usr/bin/ld: main.cpp:(.text+0xc8f): undefined reference to `glPopAttrib' /usr/bin/ld: main.cpp:(.text+0xcc0): undefined reference to `glVertex3fv' /usr/bin/ld: main.cpp:(.text+0xcce): undefined reference to `glTexCoord2fv' /usr/bin/ld: CMakeFiles/RS_Pipeline.dir/main.cpp.o: in function `set_viewport(rect const&)': main.cpp:(.text+0x27b): undefined reference to `glOrtho' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
所有示例都包含 this file,而您不包含:
find_package(OpenGL REQUIRED)
set(DEPENDENCIES realsense2 glfw ${OPENGL_LIBRARIES})
这使得 realsense2
库依赖于 GLFW 和您的 OpenGL 堆栈。
将以下内容添加到您的 CMakeLists.txt:
find_package(OpenGL REQUIRED)
target_link_libraries(${PROJECT_NAME} glfw OpenGL::GL )
@Botje 非常感谢,太快了!现在它正在使用以下 CMakeLists:
cmake_minimum_required(VERSION 3.2) project(RS_Pipeline LANGUAGES CXX C) set(CMAKE_CXX_STANDARD 11) set(OpenGL_GL_PREFERENCE LEGACY) find_package(OpenGL REQUIRED) add_executable(RS_Pipeline main.cpp librealsense/examples/example.hpp) add_subdirectory(librealsense) target_link_libraries(${PROJECT_NAME} realsense2 glfw OpenGL::GL glfw OpenGL::GLU )
看来这个话题已经可以关闭了。