我需要哪个软件包来构建一个Qt 5和CMake应用程序?

我正在尝试在Ubuntu 13.10上构建需要Qt 5并使用CMake作为构建系统的sdrangelove。请问我需要安装哪个软件包来提供它在这里要求的文件?
有很多*qt5*软件包,我已经尝试安装了一些看起来有希望的软件包,但没有效果。我找到的所有讨论要么是关于事情正常工作的,要么是关于编写CMake构建规则而不是执行它们的。我对Debian/Ubuntu软件包的组织结构并不很熟悉。
CMake Error at CMakeLists.txt:14 (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"
  (requested version 5.0) 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.
4个回答

我在尝试编译KeePassX 2.0时,偶然遇到了这个问题。

帮助我的是使用apt-file来搜索缺失的包:

例如运行以下命令:

apt-file search Qt5CoreConfig.cmake

返回了以下包:

qtbase5-dev:/usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

qtbase5-gles-dev:/usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

这些包可以通过apt或apt-get安装,例如:

sudo apt install qtbase5-dev


快速参考apt-file(https://wiki.ubuntu.com/AptFile)。有效。 - parasrish
第一次见到这个工具。它非常...非常,非常有用! :-) - funder7
谢谢!我以前完全错过了这些文件,因为我用包含“qt5”字符串的grep命令来搜索。 - user643722

两件事情我一直都没有注意到:
1. 在一次不成功的构建后,我必须删除 CMakeCache.txt 文件(或者简单地清空构建目录);否则,即使所需的软件包已经安装,cmake 仍会报告相同的错误。
2. 提供 *.cmake 配置文件的软件包有以 qt*5-dev 形式命名的,例如对于我提出问题中的错误,使用 qtcore5-dev。

4另一个选项是使用apt-file来搜索缺失的软件包:`apt-file search Qt5CoreConfig.cmakeqtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmakeqtbase5-gles-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake ` - Francisco V.
@FranciscoV。你所写的内容值得成为一个回答。这样阅读起来也更容易理解例子。 - Kevin Reid

如果你尝试了上述的解决方案但没有成功,还可以尝试一下apt-get install libqt5opengl5-dev,这对我来说有效。