如何配置CMake(在Clion中)与Qt5.5.1(开源)SDK一起使用?

时间:2016-01-04 09:20:11

标签: c++ qt cmake

我使用CLion然后再使用CMake。如何配置CMake与Qt5.5.1一起使用?它是我的CMakeLists:

cmake_minimum_required(VERSION 3.3)
project(BennuEngine)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(Qt5_DIR "~/programy/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5")
set(CMAKE_PREFIX_PATH "~/programy/Qt5.5.1/5.5")

find_package(Qt5 REQUIRED MODULES Core)
file(GLOB_RECURSE SOURCE_FILES_BENNUENGINE "*.c" "*.cpp")
add_executable(BennuEngine ${SOURCE_FILES_BENNUENGINE})

target_include_directories(BennuEngine /usr/include/freetype2)
target_link_libraries(BennuEngine GL GLU GLEW freetype)
target_link_libraries(BennuEngine sfml-window sfml-graphics sfml-system sfml-audio sfml-network)
target_link_libraries(BennuEngine unittest++)
target_include_directories(BennuEngine PUBLIC src)

我得到的错误是:

Error:Could not find a package configuration file provided by "Qt5MODULES" with any of the following names:
  Qt5MODULESConfig.cmake   qt5modules-config.cmake
Add the installation prefix of "Qt5MODULES" to CMAKE_PREFIX_PATH or set "Qt5MODULES_DIR" to a directory containing one of the above files.  If "Qt5MODULES" provides a separate development package or SDK, be sure it has been installed.

1 个答案:

答案 0 :(得分:0)

尝试使用 find_package(),然后 qt5_use_modules()

这就是我的CMakeList的样子。

cmake_minimum_required(VERSION 3.3)
project(ELF_Scout)

set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES ...)
add_executable(ELF_Scout ${SOURCE_FILES})

if (WIN32)
    # If you compile on windows replace path to your Qt folder
    set(CMAKE_PREFIX_PATH "C:\\Program Files\\Qt\\5.5\\mingw492_32\\lib\\cmake")
endif()
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Gui REQUIRED)
qt5_use_modules(ELF_Scout Core Widgets Gui)