You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022编译librealsense capture示例报GLFW相关LNK2019错误如何解决

问题描述

已查阅并尝试大量同问题帖子给出的解决方案,均未生效。当前正在开发需使用librealsense库的项目,该库支持RealSense相机用户实现各类相机相关功能。为明确该库的能力边界,在Visual Studio 2022环境下通过CMakeLists.txt构建官方示例(受条件限制无法使用Linux操作系统)。

首个示例Hello-Realsense已成功编译运行,证明在Visual Studio中通过CMakeLists.txt构建项目的路径可行,但编译第二个capture示例时累计出现42个未解析外部符号错误,典型报错信息如下:

[...]tuto_librealsense\2_capture\out\build\x64-Debug\LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
[...]tuto_librealsense\2_capture\out\build\x64-Debug\rs-capture.cpp.obj : error LNK2019: unresolved external symbol __imp_glBegin referenced in function "void __cdecl draw_pointcloud(float,float,struct glfw_state &,class rs2::points &)" (?draw_pointcloud@@YAXMMAEAUglfw_state@@AEAVpoints@rs2@@@Z)
[...]tuto_librealsense\2_capture\out\build\x64-Debug\rs-capture.cpp.obj : error LNK2019: unresolved external symbol __imp_glBindTexture referenced in function "void __cdecl draw_pointcloud(float,float,struct glfw_state &,class rs2::points &)" (?draw_pointcloud@@YAXMMAEAUglfw_state@@AEAVpoints@rs2@@@Z)

构建过程同时触发LNK4098警告,提示默认库与当前尝试链接的库存在冲突。

现有配置情况
  • 项目文件结构:共包含CMakeLists.txt、example.hpp与rs-capture.cpp三个文件,文件组织结构如下:
    项目文件组织结构截图
  • 依赖配置逻辑:根据示例说明,example.hpp是项目必须引入的头文件,该头文件引入了GLFW库依赖。当前沿用了成功编译Hello-Realsense项目的配置逻辑:将依赖的.lib文件路径写入DEPENDENCIES宏,依赖库的头文件路径写入PATH_TO_HEADERS宏。选择lib-vc2022目录下的glfw3.lib文件以匹配Visual Studio 2022版本,该选择无明确官方依据。
  • 当前CMakeLists.txt配置内容:
cmake_minimum_required(VERSION 3.1.0)
project(RealsenseExamplesCapture)

add_executable(rs-capture rs-capture.cpp example.hpp)
set_property(TARGET rs-capture PROPERTY CXX_STANDARD 11)

set(DEPENDENCIES "C:/Program Files (x86)/Intel RealSense SDK 2.0/lib/x64/realsense2.lib" "C:/Program Files/GL/GLFWx64/lib-vc2022/glfw3.lib")
set(PATH_TO_HEADERS "C:/Program Files (x86)/Intel RealSense SDK 2.0/include/" "C:/Program Files/GL/GLFWx64/include/GLFW" "C:/Program Files (x86)/Intel RealSense SDK 2.0/samples")

target_link_libraries(rs-capture ${DEPENDENCIES})
INCLUDE_DIRECTORIES(${PATH_TO_HEADERS})
 
install(TARGETS rs-capture RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
  • 其他操作:参照通用操作指引,已将glfw3.dll文件放置在C:\Windows\System32目录下。

内容的提问来源于stack exchange,提问作者Dakom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:21:35