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

如何使用CMake获取系统的路径分隔符?

获取CMake中的路径分隔符

嘿,这个问题CMake其实已经帮你考虑到了,完全不用自己手动折腾系统判断,省心又靠谱:

  • 优先使用内置变量 CMAKE_DIR_SEPARATOR
    这个变量会根据当前构建系统自动适配路径分隔符:类Unix系统(Linux、macOS等)下是 /,Windows系统下是 \。你可以直接用它,也可以把它赋值给自定义变量:

    # 直接打印查看当前路径分隔符
    message("当前系统的路径分隔符: ${CMAKE_DIR_SEPARATOR}")
    
    # 赋值给自定义变量以便后续使用
    set(MY_CUSTOM_PATH_DELIM ${CMAKE_DIR_SEPARATOR})
    
  • 手动判断方案(不推荐,仅作补充)
    如果你出于特殊需求一定要自己实现判断逻辑,可以通过CMAKE_HOST_SYSTEM_NAME区分操作系统:

    if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
        # Windows下反斜杠需要转义,所以要写两个
        set(MY_CUSTOM_PATH_DELIM "\\")
    else()
        # 类Unix系统直接用正斜杠
        set(MY_CUSTOM_PATH_DELIM "/")
    endif()
    

⚠️ 小提示:强烈建议用CMAKE_DIR_SEPARATOR,这是CMake官方维护的变量,能覆盖所有边缘场景,比自己写判断逻辑靠谱得多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:28:15