使用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)
相关推荐
stolentime33 分钟前
CF2277E Tree Guessing题解
c++·算法·贪心算法·交互·ad-hoc
syagain_zsx1 小时前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
小鱼仙官1 小时前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
晚风予卿云月2 小时前
【C++高并发内存池】 1.定长内存池的实现
开发语言·c++·内存管理
闻缺陷则喜何志丹3 小时前
【c++20】协程与屏障
c++·算法·c++20·携程·屏障
会编程的小孩3 小时前
C++ 内存分区、堆与栈、static、union 完整修正版文档
c++
多弗朗皮卡丘4 小时前
C++的类型转换
开发语言·c++
扶尔魔ocy4 小时前
【QT OpenGL】知识点编目及传送门
qt·opengl·osg
火2254 小时前
# C++ 微服务即时通讯系统(三):网关设计——HTTP 请求、Session 鉴权与 WebSocket 通知上一篇
c++·http·微服务
qq_401700415 小时前
Qt Modbus 源码剖析:从 QModbusClient 到工业级通信框架
开发语言·qt·系统架构