【问题标题】:Using Qt inside Clion在 Clion 中使用 Qt
【发布时间】:2015-09-18 06:22:15
【问题描述】:

我正在尝试使用 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 环境中的配置,所以我无法实现这些教程。

【问题讨论】:

  • @coincoin 调用 cmake .. 是什么意思??我使用 Clion 来构建和运行我的程序而不是 CLI 命令(如果这是你的意思)
  • @coincoin 这是我的代码:link 这是 clion 的输出:link

标签: c++ qt cmake clion


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

    然后

    qt5_use_modules( MyTest Core Widgets Gui )
    

    【讨论】:

    • 感谢您的回答,终于可以正常使用了!!现在我的“CmakeLists.txt”看起来像这样:link
    • @thomas_b 如果我错了请纠正我,但是如果 cmake 替换了 .pro 文件,我该如何向我的项目添加资源?
    • 正如 Qt 的 CMake 手册 (doc.qt.io/qt-5/cmake-manual.html) 所述,这是通过 qt5_add_resources 命令完成的。扩展问题的源代码,调用将如下所示:qt5_add_resources(SOURCE_FILES my_resources.qrc)
    猜你喜欢
    • 2018-03-17
    • 2018-05-25
    • 2022-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多