【问题标题】:Cmake can't seem to find needed Qt cmake files even though I've set CMAKE_PREFIX_PATH即使我设置了 CMAKE_PREFIX_PATH,Cmake 似乎也找不到所需的 Qt cmake 文件
【发布时间】:2016-11-28 04:55:58
【问题描述】:

我最近刚刚升级到 Qt 5.7,我正在尝试构建一个需要查找多个包的项目。我在 Mac 上,最近也升级到了 el capitan。我在我的 .bash_profile 中设置了 CMAKE_PREFIX_PATH 并检查了环境以验证它是否正确。当我做 cmake 。在我的项目所在的文件夹上(以前这是我构建的)它给了我几个错误,例如:

CMake Warning at CMakeLists.txt:79 (FIND_PACKAGE):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
"Qt5Widgets_DIR" to a directory containing one of the above files.  If
"Qt5Widgets" provides a separate development package or SDK, be sure it has
been installed.

但是我已经验证了路径是正确的并且文件确实存在。我已经尝试了 cmake_prefix_path 的几种变体,例如:

CMAKE_PREFIX_PATH=/Users/mnicholson/Qt/5.7/clang_64/ 

还有

CMAKE_PREFIX_PATH=/Users/mnicholson/Qt/5.7/clang_64/lib/cmake/

但尽管 cmake 文件在那里,但似乎两者都不起作用。使用旧版本的 qt 设置路径有效,但是自从从 5.5 升级到 5.6 再到 5.7 我很困惑......帮助!这是qt5.7的问题吗?首领?

谢谢!

【问题讨论】:

  • 如果您不只是加载小部件模块,您的路径应该是 /Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5Widgets 或 /Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5。您在示例中给出的路径不完整
  • 对了,你也可以尝试设置Qt5Widgets_DIR(或Qt5_DIR),避免污染cmake全局变量
  • 所以我必须指向每个特定的文件夹?我有大约 2 打这样的错误。我的印象是(正如我之前所说,这在 5.4 和 5.6 中有效,路径为 /Users/mnicholson/Qt/5.6/clang_64/)指向顶部文件夹,并且 cmake 将搜索此文件夹下的文件夹它需要什么。那么 5.6 和 5.7 之间发生了什么变化?
  • 我不知道发生了什么变化。它不应该与以前的版本一起使用。我猜你的系统是以不同的方式配置的,一些系统变量指向正确的位置,但我不知道。您不必指向每个文件夹。只需指向 Qt5 并在项目的根目录中指定您需要的模块。我建议你用一个例子来回答
  • 我确实指向了 Qt5,并在我的项目的根目录中列出了我需要的模块,这就是我问这个问题的原因。我暂时回滚到 5.6.1 只是为了得到一些可以构建的东西。

标签: qt build cmake


【解决方案1】:

尝试find_package PATHS 选项。类似的东西

find_package(Qt5Widgets
    CONFIG
    PATHS /Users/mnicholson/Qt/5.7/clang_64/lib/cmake/Qt5Widgets
    NO_DEFAULT_PATH)

【讨论】:

    猜你喜欢
    • 2023-02-23
    • 2018-05-18
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多