如何在Qt中使用CMake
CMake官方文档在地址。
本文目标:
- 构建GUI可执行文件
- 导入目标库
构建GUI可执行文件
主要步骤:
- 使用 find_package找打Qt的库和头文件,
- 使用target_link_libraries命令链接Qt库和目标文件
示例:
find_package(Qt5 COMPONENTS Widgets REQUIRED)
add_executable(helloworld
mainwindow.ui
mainwindow.cpp
main.cpp
resources.qrc
)
target_link_libraries(helloworld Qt5::Widgets)
注意事项:
如果使用find_package不能正确找到包,可以使用以下方式之一进行设置:
- 设置 CMAKE_PREFIX_PATH 环境变量 为 Qt的安装前缀(推荐)
- 设置CMake缓存中的 Qt5_DIR 为 Qt5Config.cmake文件的位置
链接Qt目标库
目标名字以Qt5::开始,后跟模块名称。例如:Qt5::Core。target_link_libraries需要库的目标名称以使用相应的库。
根据导入时Qt的配置,需要对目标库进行相应的配置,一般有
- DEBUG
- RELEASE
- RELEASE 和 DEBUG
** 示例 **
find_package(Qt5 COMPONENTS Core REQUIRED)
set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_RELEASE} -fprofile-arcs -ftest-coverage")
set_target_properties(Qt5::Core PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE "RELEASE")