Kia*_*ian 11 c++ qt cmake clion
我正在尝试使用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()
Run Code Online (Sandbox Code Playgroud)
它配置为使用SFML库和"FindSFML.cmake"文件,它工作正常.(我已经从一些教程中复制了这些文件)现在我想要一些关于正确CMakeLists.txt配置的帮助来编译使用Qt库的程序(如果提供了文件和解释,它会更有帮助).
PS:我目前的操作系统是manjaro 0.8.13,我所能找到的只是在Windows环境中解释配置,所以我无法实现这些教程.
Jea*_*ier 12
除了@ tomvodi的答案,您还可以使用更简单的语法:
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 )
Run Code Online (Sandbox Code Playgroud)
然后
qt5_use_modules( MyTest Core Widgets Gui )
Run Code Online (Sandbox Code Playgroud)