如何在Ubuntu中使用cmake设置qt4



我目前正在尝试设置qt4以在CLion IDE中使用cmake,但在指定安装路径时遇到了问题。我正在运行Ubuntu,所以我下载了带有sudo apt install qt4-default的qt4。这将把它安装到哪里?如何告诉cmake在哪里可以找到包配置文件?

这是我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.15)
project(ContactClasses)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp Contact.h Contact.cpp ContactList.h ContactList.cpp ContactFactory.h ContactFactory.cpp)
set(CMAKE_PREFIX_PATH "/usr/share/qt4")
find_package(Qt4Core REQUIRED)
add_executable(Homework_6 ${SOURCE_FILES})
target_link_libraries(ContactClasses Qt4::Core)

当我尝试重新加载它时,我得到了这个错误:

CMake Error at CMakeLists.txt:8 (find_package):
By not providing "FindQt4Core.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt4Core", but
CMake did not find one.
Could not find a package configuration file provided by "Qt4Core" with any
of the following names:
Qt4CoreConfig.cmake
qt4core-config.cmake
Add the installation prefix of "Qt4Core" to CMAKE_PREFIX_PATH or set
"Qt4Core_DIR" to a directory containing one of the above files.  If
"Qt4Core" provides a separate development package or SDK, be sure it has
been installed.

CMake中有一个专门的FindQt4模块,请参阅其文档。

你这样称呼它:

set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt4 REQUIRED QtCore)
add_executable(Homework_6 ${SOURCE_FILES})
target_link_libraries(Homework_6 PUBLIC Qt4::QtCore)

最新更新