我目前正在尝试使用 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".
我安装了Qt Creator,但我不确定为什么会出现此错误。我在网上环顾四周,他们说我应该添加
set(QT_USE_QTXML true)
FIND_PACKAGE(Qt5)
在 ext/quazip/CMakeList 中的 #project 之后.txt我已经这样做了,但是我仍然收到此错误的任何建议?
更新:因此,我将以下内容添加到我的顶级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 )
我清除了缓存,然后进行了配置。在这一点上,我收到以下错误。
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!
要在 CMakeList 中使用Qt5
.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
编辑:Qt5 cmake 模块由 Qt5 本身提供,所以你需要告诉 cmake 在哪里可以找到 qt。请参阅Qt5 CMake文档。
最后,通过一些搜索,我能够得到CANDevStudio——它也有这个Qt5问题——通过以下方式在Ubuntu 20.04上工作:
步骤1:从他们的网站手动下载并安装Qt(需要免费创建帐户):https://download.qt.io/archive/qt/
根据:本网站,可能需要删除任何其他版本的libqt5:
sudo apt purge libqt5svg5-def
sudo apt purge libqt5serialbus5-dev
第 2 步:将 DCMAKE_PREFIX_PATH 标志设置为新安装软件的目录构建软件(在我的情况下,我将其放在我的主目录中):
cmake .. -DCMAKE_PREFIX_PATH=/home/<username>/Qt5.12.0/5.12.0/gcc_64
来源:CanDevStudio的帮助页面