使用CMake搭建简单的Qt程序

目录结构

代码

CMakeLists.txt:

bash 复制代码
cmake_minimum_required(VERSION 3.15)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

# set the project name
project(xxx)

# 设置Qt的路径
# 例如 E:/Qt/Qt/aaa/msvc2019_64
# aaa 为Qt的版本号
set(QT_PATH "C:/Qt/5.15.2/msvc2019_64")
set(CMAKE_PREFIX_PATH ${QT_PATH}/lib/cmake)

# 添加模块
find_package(Qt5 COMPONENTS Widgets Core Sql REQUIRED )
# include_directories(${QT_PATH}/include)
include_directories(${PROJECT_SOURCE_DIR}/inc)

file(GLOB_RECURSE user_headers inc/*.h)
file(GLOB_RECURSE user_cpps src/*.cpp)
set(user 
${user_headers}
${user_cpps})

add_executable(${PROJECT_NAME} WIN32
${user}
)

# link_libraries(${QT_PATH}/lib)

target_include_directories(${PROJECT_NAME}
PUBLIC
${PROJECT_SOURCE_DIR}/inc)

# 添加模块
target_link_libraries(${PROJECT_NAME} 
 Qt5::Widgets
 Qt5::Core
 Qt5::Sql)
相关推荐
2kπ19 分钟前
QT开发笔记
开发语言·笔记·qt
charlie1145141911 小时前
深探std::vector:三指针、扩容与迭代器失效
开发语言·c++·开源项目
laplaya1 小时前
ROS常用消息之PointCloud2
c++
沙盘客2 小时前
典型应用与趋势:作战实验、AI 决策与数字孪生
c++·人工智能·经验分享
Quz3 小时前
QML MouseArea:点击、悬停与坐标获取
qt
ShineWinsu3 小时前
对于 C++ :从 const、constexpr、auto、decltype 到 type_traits、SFINAE 与 Concepts的解析
c++
程与留3 小时前
04_Qt项目构建流程深度解析——MOC、UIC、RCC 的作用与原理
qt
Quz3 小时前
QML MouseArea 事件:单击双击、长按与多按键检测
qt
_Narcissus_3 小时前
B树概念及操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
筠筠喵呜喵3 小时前
解决问题:QNX平台调用glReadPixels卡滞
c++·unix