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

如何调整CMake自动生成路径?Windows下apriltags安装遇路径错误

排查方向建议
  • 检查scikit-build与setuptools的路径处理逻辑
    从_skbuild目录可判断项目用了scikit-build构建,你指定NMake Makefiles后,工具链可能在拼接路径时保留了类Unix风格的./相对路径标识,在Windows下被解析成非法的文件夹名。可以尝试:

    • 在setup.py的cmake_args中添加-DCMAKE_INSTALL_PREFIX=./install_temp,指定明确的临时安装前缀,避免自动路径拼接出问题;
    • 在setup.py中添加setuptools的bdist_wheel配置,强制指定输出目录,比如:
      setup(
          # 其他原有配置
          options={
              "bdist_wheel": {"dist_dir": "./dist"}
          }
      )
      
  • 验证NMake Makefile的路径输出
    进入_skbuild/win-amd64-3.8/build目录,打开生成的Makefile,搜索install或wheel相关的目标规则,查看是否存在带./的路径定义。如果有,手动修改为Windows兼容的写法(比如去掉前缀的.),再重新执行安装命令,看是否解决问题。也可以直接执行cmake --build . --target install手动完成安装,判断错误是来自CMake/Makefile阶段还是setuptools的wheel打包阶段。

  • 调整CMake的路径相关配置
    在cmake_args中添加-DCMAKE_USE_RELATIVE_PATHS=OFF,强制CMake生成绝对路径,避免相对路径拼接时产生多余的.符号。另外检查项目根目录的CMakeLists.txt,看INSTALL指令中是否有DESTINATION ./xxx这类写法,改成DESTINATION xxx去掉前缀的.。

  • 尝试更换CMake生成器
    既然你已经安装了MSVC Buildtools,无需Visual Studio IDE也可以使用MSVC原生生成器。把cmake_args里的-GNMake Makefiles替换为-G"Visual Studio 17 2022" -A x64(根据你的Buildtools版本调整生成器名称,比如VS2019对应Visual Studio 16 2019),Windows原生生成器对路径的兼容性更好,大概率能避开NMake带来的路径解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:45:13