【问题标题】:Updated Qt library; cannot build anymore更新了 Qt 库;无法再建造
【发布时间】:2018-01-27 22:46:38
【问题描述】:

我有一个以前工作的 Qt5/cmake 项目,它构建得很好。然后我将 Qt 从 5.6 更新到 5.8。现在 cmake 再也找不到 Qt 了。

这是我的CMakeLists.txt 文件:

cmake_minimum_required(VERSION 3.0)
project(TEST)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_PREFIX_PATH "/opt/Qt/Qt5.8.0")
set(QT_QMAKE_EXECUTABLE ${CMAKE_PREFIX_PATH}/5.8/clang_64/bin/qmake)

find_package(Qt5Widgets)
...

这是我收到的错误消息:

CMake Warning at CMakeLists.txt:56 (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.

我按照Qt documentation中写的,所以我不明白哪里出了问题。

版本详情:
- cmake 3.9.0
- Qt 5.8.0
- QMake 3.1
- Mac OS X 10.9.5

【问题讨论】:

  • 您是否尝试过从构建文件夹中删除 CMakeCache.txt
  • @Dmitry:是的,没有区别。
  • 确保 CMake 可以找到更新的 Qt 安装:尝试运行 cmake -DCMAKE_PREFIX_PATH=/opt/Qt/Qt5.8.0
  • 我尝试在命令行和 CMakeLists.txt 中指定 Qt 的路径,但没有成功。

标签: c++ macos qt build cmake


【解决方案1】:

您是否检查了与 QT 兼容的 CMake 版本?您还检查过 qmake 是否一切正常?因为这是大多数时候导致问题的原因。检查QT_QMAKE_EXECUTABLE指向新的QT版本,我总是遇到新版本的QT问题。

【讨论】:

  • 我正在使用几乎最新版本的 CMake 和 Qt。 QMake 没问题,我手动设置了路径。
【解决方案2】:

固定设置以下系统变量:

QTDIR=/opt/Qt/Qt5.8.0/5.8/clang_64
PATH=$PATH:/opt/Qt/Qt5.8.0/5.8/clang_64/bin

并删除:

set(CMAKE_PREFIX_PATH "/opt/Qt/Qt5.8.0")

来自 CMakeLists.txt。

【讨论】:

    猜你喜欢
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多