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

使用Astra深度相机时CMake报错:未知命令set_debug_working_dir

解决CMake编译报错:Unknown CMake command "set_debug_working_dir"

问题原因

set_debug_working_dir并非CMake原生命令,它是Astra SDK自定义的辅助函数。出现该错误通常是当前CMakeLists.txt未正确引入定义该函数的SDK脚本,或是使用的SDK版本与示例代码不匹配。

修复方案

方案1:确认引入Astra SDK的CMake脚本

检查项目根目录的CMakeLists.txt,确保已正确加载Astra SDK的配置脚本,通常包含类似代码:

find_package(Astra REQUIRED)
include(${ASTRA_CMAKE_DIR}/AstraSDK.cmake)

若缺少这部分内容,添加后重新编译。

方案2:用CMake原生属性替代自定义命令

如果找不到定义set_debug_working_dir的脚本,可直接使用CMake原生属性设置调试工作目录,替换报错行:

针对Visual Studio:

if(MSVC)
  set_target_properties(${_projname} PROPERTIES
    VS_DEBUGGER_WORKING_DIRECTORY "$(TargetDir)"
  )
endif()

针对跨平台场景(如CLion、Makefile):
先设置输出目录,再将工作目录指向该路径:

set_target_properties(${_projname} PROPERTIES
  RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_BINARY_DIR}/Debug"
)

修改后的完整CMakeLists片段:

set (_projname "DepthReaderEventCPP")

set (${_projname}_SOURCES
  main.cpp
  ${SAMPLE_COMMON_DIR}/key_handler.h
)

add_executable(${_projname} ${${_projname}_SOURCES})

set_target_properties(${_projname} PROPERTIES FOLDER "${SAMPLE_DIR_FOLDER}cpp-api")

target_link_libraries(${_projname} ${ASTRA_LIBRARIES})

# 替换原set_debug_working_dir行
if(MSVC)
  set_target_properties(${_projname} PROPERTIES
    VS_DEBUGGER_WORKING_DIRECTORY "$(TargetDir)"
  )
endif()

add_astra_sdk_dependency(${_projname})

install_sample(${_projname})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:02:10