在Clion中使用Qt

时间:2015-07-01 07:48:34

标签: c++ qt cmake clion

我正在尝试使用Clion IDE使用Qt库编译一个简单的程序,但我无法弄清楚如何配置CMakeLists.txt文件。 (我不熟悉cmake和工具链) 这是我当前的CMakeLists.txt文件:

cmake_minimum_required(VERSION 3.2)
project(MyTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(MyTest ${SOURCE_FILES})

 # Define sources and executable
set(EXECUTABLE_NAME "MySFML")
add_executable(${EXECUTABLE_NAME} main.cpp)



# Detect and add SFML
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
find_package(SFML 2 REQUIRED system window graphics network audio)
if(SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(${EXECUTABLE_NAME} ${SFML_LIBRARIES})
endif()

它被配置为使用带有“FindSFML.cmake”文件的SFML库,它工作正常。 (我已经从一些教程中复制了这些文件)现在我想要一些关于正确CMakeLists.txt配置的帮助来编译使用Qt库的程序(如果提供了文件和解释,它会更有用)。

P.S:我目前的操作系统是manjaro 0.8.13,我所能找到的只是在Windows环境中解释配置,所以我无法实现这些教程。

2 个答案:

答案 0 :(得分:12)

除了@ tomvodi的回答,您还可以使用更简单的语法:

find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)。 然后,您不要调用qt5_use_modules,而是使用标准命令链接:

target_link_libraries(MyTest Qt5::Core Qt5::Widgets Qt5::Gui)

答案 1 :(得分:9)

您的CMake项目文件缺少Qt包。你必须添加:

find_package( Qt5Core REQUIRED )
find_package( Qt5Widgets REQUIRED )
find_package( Qt5Gui REQUIRED )

然后

qt5_use_modules( MyTest Core Widgets Gui )