未知的CMake Qt5命令

Mis*_*tyD 6 cmake qt5

我目前正在尝试使用CMake构建项目。这是我得到的输出

CMake Warning at ext/quazip/CMakeLists.txt:4 (FIND_PACKAGE):
  By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5", but
  CMake did not find one.

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

    Qt5Config.cmake
    qt5-config.cmake

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


CMake Error at ext/quazip/CMakeLists.txt:19 (qt5_wrap_cpp):
  Unknown CMake command "qt5_wrap_cpp".
Run Code Online (Sandbox Code Playgroud)

我已经安装了Qt Creator,但不确定为什么会收到此错误。我在网上四处张望,他们说我应该添加

set(QT_USE_QTXML true)
FIND_PACKAGE(Qt5)
Run Code Online (Sandbox Code Playgroud)

在ext / quazip / CMakeLists.txt中的#project之后,我完成了该操作,但是仍然收到此错误任何建议吗?

更新:所以我将以下内容添加到了顶层CMakeLists.txt中

find_package( Qt5Core REQUIRED )
find_package( Qt5Widgets REQUIRED )
find_package( Qt5Gui REQUIRED )
find_package( Qt5OpenGL REQUIRED )
find_package( Qt5Multimedia REQUIRED )
find_package( Qt5WebKitWidgets REQUIRED )
find_package( Qt5Xml REQUIRED )
Run Code Online (Sandbox Code Playgroud)

我清除了缓存,然后进行了配置。那时我得到以下错误。

CMake Error at CMakeLists.txt:3 (find_package):
  By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Core", but
  CMake did not find one.

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

    Qt5CoreConfig.cmake
    qt5core-config.cmake

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


Configuring incomplete, errors occurred!
Run Code Online (Sandbox Code Playgroud)

Kik*_*ohs 4

Qt5在 CMakeLists.txt 中使用,您应该使用这些函数(的组合):

在顶层 CMakeLists.txt

#### Qt5
find_package( Qt5Core REQUIRED )
find_package( Qt5Widgets REQUIRED )
find_package( Qt5Gui REQUIRED )
find_package( Qt5OpenGL REQUIRED )
find_package( Qt5Multimedia REQUIRED )
find_package( Qt5WebKitWidgets REQUIRED )
find_package( Qt5Xml REQUIRED )
set( CMAKE_AUTOMOC ON )  # to automoc remove the need to wrap by hand
Run Code Online (Sandbox Code Playgroud)

编辑:Qt5 cmake模块由Qt5本身提供,因此您需要告诉cmake在哪里可以找到qt。请参阅有关该内容的 Qt5 CMake 文档