使用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)
相关推荐
Vect__7 小时前
基于线程池从零实现TCP计算器网络服务
c++·网络协议·tcp/ip
naruto_lnq12 小时前
分布式系统安全通信
开发语言·c++·算法
CSDN_RTKLIB14 小时前
【四个场景测试】源文件编码UTF-8 BOM
c++
肉包_51115 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
Trouvaille ~16 小时前
【Linux】UDP Socket编程实战(一):Echo Server从零到一
linux·运维·服务器·网络·c++·websocket·udp
HellowAmy16 小时前
我的C++规范 - 线程池
开发语言·c++·代码规范
czy878747516 小时前
const 在 C/C++ 中的全面用法(C/C++ 差异+核心场景+实战示例)
c语言·开发语言·c++
十五年专注C++开发16 小时前
MinHook:Windows 平台下轻量级、高性能的钩子库
c++·windows·钩子技术·minhook
一只小小的芙厨17 小时前
寒假集训笔记·树上背包
c++·笔记·算法·动态规划
以卿a17 小时前
C++(继承)
开发语言·c++·算法