在Clion内部使用Qt

Using Qt inside Clion

本文关键字:Qt 内部 Clion      更新时间:2023-10-16

我试图使用Clion IDE使用Qt库编译一个简单的程序,但我不知道如何配置CMakeLists.txt文件。(我不熟悉cmake和toolchain)这是我当前的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()

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


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

除了这个答案,您还可以使用一个更简单的语法:

find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)

然后,您不调用qt5_use_modules,而是使用标准命令链接:

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

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

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

然后

qt5_use_modules( MyTest Core Widgets Gui )