首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果Cmake find_package找不到包,如何提供自定义错误消息?

如果Cmake find_package找不到包,如何提供自定义错误消息?
EN

Stack Overflow用户
提问于 2022-11-24 10:51:50
回答 1查看 17关注 0票数 1

假设一个CMakeList.txt有一行find_package(Qt6 COMPONENTS Core)

但是,用户没有正确配置QT环境,所以Cmake只会显示它找不到Qt6。

我想提供一条定制消息,比如“无法找到Qt6,也许可以尝试cmake -DCMAKE_PREFIX_PATH=/path/to/qt/6.2.3/macos”。

是否有可能实现这一目标?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 20:16:11

通过将QUIET传递给find_package调用,您可以禁用标准消息。调用之后,您可以检查*_FOUND变量的值,以确定find_package是否成功,并打印相应的消息。就像这样:

代码语言:javascript
运行
复制
find_package(Qt6 QUIET COMPONENTS Core)
if (Qt6_FOUND)
  # Success
  message(STATUS "Found Qt6")
else()
  # Fail
  message(FATAL_ERROR "Cannot find Qt6, maybe try 'cmake -DCMAKE_PREFIX_PATH=/path/to/qt/6.2.3/macos'")
endif()

else分支中,关键字FATAL_ERROR确保在打印消息后CMake将停止执行。当找不到所需的依赖项时,这是用于项目的标准工作流。但是,如果您的项目也是在不使用Qt6的情况下开发的,您可以省略FATAL_ERROR并为消息调用使用任何其他关键字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74559547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档