Cmake构建Qt项目链接glog库

cpp 复制代码
//CmakeLists.txt
cmake_minimum_required(VERSION 3.5)

# 设置项目名称和语言
project(ToolKitManage LANGUAGES CXX)

# 允许包含当前目录
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# 设置自动处理UI、MOC和RCC
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

# 设置C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 查找Qt5 Widgets组件
find_package(Qt5 COMPONENTS Widgets REQUIRED)

# 包含目录
include_directories(
    ${PROJECT_SOURCE_DIR}/include
    ${CMAKE_CURRENT_BINARY_DIR}
)

# 设置AUTOUIC搜索路径以处理UI文件
set(CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_SOURCE_DIR}/ui)

# 收集源文件、头文件、UI文件和资源文件
file(GLOB PRO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/ *.cpp)
file(GLOB PRO_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/include/ *.h)
file(GLOB PRO_UI ${CMAKE_CURRENT_SOURCE_DIR}/ui/ *.ui)
file(GLOB PRO_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/resource/ *.qrc)

# 创建可执行文件
add_executable(ToolKitManage
    ${PRO_SRC}
    ${PRO_INCLUDE}
    ${PRO_UI}
    ${PRO_RESOURCES}
)

# 链接Qt5 Widgets库
target_link_libraries(ToolKitManage PRIVATE Qt5::Widgets)

# 设置glog库的包含目录
set(GLOG_INCLUDE_DIR 
    ${CMAKE_CURRENT_SOURCE_DIR}/Thirdlib/glog/include
)

include_directories(${GLOG_INCLUDE_DIR})

# 设置glog库文件
set(GLOG_LIBRARIES 
    debug ${CMAKE_CURRENT_SOURCE_DIR}/Thirdlib/glog/lib/glogd.lib 
    optimized ${CMAKE_CURRENT_SOURCE_DIR}/Thirdlib/glog/lib/glog.lib 
)	

# 链接glog库
target_link_libraries(ToolKitManage PRIVATE ${GLOG_LIBRARIES})

推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

相关推荐
小徐不徐说6 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang7 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog7 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3277 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102168 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷8 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang8 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5209 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
樱花树下的数学喵11 小时前
手写简易 STL string|C++ 字符串底层实现
开发语言·c++
jimy111 小时前
C++ 报错的 qualifiers 的意思
开发语言·c++