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

编译Open3D源码遇错求助:WebRTC与运行时库不匹配问题

解决Open3D源码编译的两个关键错误

错误1:BUILD_SHARED_LIBS=ON时WebRTC预编译库不可用

错误提示明确给出三种解决途径,按需选择:

  • 禁用WebRTC:CMake配置时添加参数 DBUILD_WEBRTC=OFF,但会丢失Open3D中WebRTC相关的实时可视化、流媒体功能。
  • 改用静态库编译:调整CMake参数为 -DBUILD_SHARED_LIBS=OFF -DSTATIC_WINDOWS_RUNTIME=ON,使用预编译的WebRTC静态库,生成静态版本的Open3D。
  • 从源码编译WebRTC:添加参数 -DBUILD_WEBRTC_FROM_SOURCE=ON,自行编译WebRTC以适配动态库模式。注意此方式会大幅增加编译时间和资源占用,需提前准备好WebRTC源码编译所需的依赖(如Python、Git、对应版本的编译器)。

错误2:RuntimeLibrary不匹配(MD_DynamicRelease vs MT_StaticRelease)

这个链接错误是编译环节中运行时库配置不一致导致的,统一配置即可解决:

  • 若编译动态Open3D库:在CMake中明确指定运行时库为动态版本,添加参数:
    -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL  # Release模式
    # Debug模式用:
    # -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL
    
    同时如果选择从源码编译WebRTC(错误1的选项c),需确保WebRTC的编译也使用相同的动态运行时库配置。
  • 若编译静态Open3D库:统一使用静态运行时库,CMake参数设置为:
    -DBUILD_SHARED_LIBS=OFF
    -DSTATIC_WINDOWS_RUNTIME=ON
    -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded  # Release模式
    # Debug模式用:
    # -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug
    
    这样所有组件的运行时库配置保持一致,即可避免链接错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:10:32