Ответ 1
В файле проекта CMake
отсутствуют пакеты Qt. Вы должны добавить:
find_package( Qt5Core REQUIRED )
find_package( Qt5Widgets REQUIRED )
find_package( Qt5Gui REQUIRED )
а затем
qt5_use_modules( MyTest Core Widgets Gui )
Я пытаюсь использовать 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, поэтому я не смог реализовать эти учебники.
В файле проекта CMake
отсутствуют пакеты Qt. Вы должны добавить:
find_package( Qt5Core REQUIRED )
find_package( Qt5Widgets REQUIRED )
find_package( Qt5Gui REQUIRED )
а затем
qt5_use_modules( MyTest Core Widgets Gui )
В дополнение к ответу @tomvodi вы можете использовать более простой синтаксис:
find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)
.
Затем вы не вызываете qt5_use_modules
, а вместо этого используйте стандартную команду для ссылки:
target_link_libraries(MyTest Qt5::Core Qt5::Widgets Qt5::Gui)