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

CMake报错:INSTALL DESTINATION禁绝对路径,如何改CMakeLists.txt?

解决CMake打包WIX安装器时「ABSOLUTE path INSTALL DESTINATION forbidden」错误

问题场景

学习CMake教程第9步「打包安装器」环节,在Windows系统执行cpack -G WIX -C Debug命令时,触发错误:CMake Error: ABSOLUTE path INSTALL DESTINATION forbidden。相关CMakeLists.txt代码片段:

install (TARGETS Tutorial DESTINATION ${PROJECT_SOURCE_DIR}/install/bin)
install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
         DESTINATION ${PROJECT_SOURCE_DIR}/install/include)

修改方案

错误根源是CPack的WIX生成器禁止使用绝对路径作为安装目标目录,需改用相对路径配置:

  1. 修改install命令的目标路径为相对路径:
install (TARGETS Tutorial DESTINATION bin)
install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
         DESTINATION include)
  1. 若需指定本地测试安装的目录,不要在CMakeLists.txt中硬编码绝对路径,而是在执行安装时通过CMAKE_INSTALL_PREFIX参数指定:
cmake --install . --prefix "${PROJECT_SOURCE_DIR}/install"

这样配置后,CPack打包时会自动处理安装路径的映射,生成符合WIX规范的安装包,同时保留本地安装路径的灵活性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:45:13