web-dev-qa-db-ja.com

Clion内でQtを使用する

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()

「FindSFML.cmake」ファイルでSFMLライブラリを使用するように構成されており、正常に動作します。 (これらのファイルをいくつかのチュートリアルからコピーしました)Qtライブラリを使用しているプログラムをコンパイルするための適切なCMakeLists.txt構成に関するヘルプが必要です(ファイルと説明が提供されているとさらに役立ちます)。


PS:私の現在のOSはmanjaro 0.8.13であり、Windows環境での構成の説明しか見つからなかったため、これらのチュートリアルを実装できませんでした。

11
Kian Ahrabian

CMakeプロジェクトファイルにQtパッケージがありません。追加する必要があります:

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

その後

qt5_use_modules( MyTest Core Widgets Gui )
9
tomvodi

@tomvodiの回答に加えて、より単純な構文を使用できます。

find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)。次に、_qt5_use_modules_を呼び出さずに、代わりに標準コマンドを使用してリンクします。

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