问题描述
我正在尝试在Ubuntu 13.10上构建sdrangelove,它需要Qt 5并使用CMake作为其构建系统。我需要安装什么软件包才能为其提供在此处要求的文件?
有很多*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.
最佳思路
我在尝试编译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
次佳思路
我缺少的两件事:
-
生成失败后,必须删除
CMakeCache.txt
(或简单地清除生成目录);否则,即使已安装所需的软件包,cmake
也会报告相同的错误。 -
提供
*.cmake
配置文件的软件包的名称形式为qt*5-dev
,例如对于我的问题qtcore5-dev
的错误。