Cmake编译glog成功并在QT中测试成功步骤
glog是开源的日志记录系统,下载地址GitHub - google/glog: C++ implementation of the Google logging module
跟gflags有点相似,编译和测试过程比较周折,所以记录下来具体的编译和测试步骤。
编译环境:Windows+Cmake+Vs2022+Qt5.14.2
1、下载源码:GitHub - google/glog: C++ implementation of the Google logging module,解压缩下载文件到D:\glog-master。
2、打开Cmake软件,设置源码位置:D:\glog-master,设置构建位置:D:/glog-master/build_vs2022x64,点击【Configure】按钮进行配置如下:
配置核心选项:
2.1 CMAKE_INSTALL_PREFIX路径手动设置为D:\glog-master\install
2.2 不勾选WITH_UNWIND 选项。
2.3 先后两次生成和编译对应的静态库和动态库。
不生成动态库文件配置如下图:
生成动态库文件glog.dll文件配置如下图:
3、编译源码:点击【Configure】 按钮+【Generate】按钮后,再点击【Open Project】按钮,会使用VS2022打开glog.sln解决方案。
在VS2022软件中,设置编译方式为Release+x64模式,选择解决方案-右键选择【重新生成解决方案】菜单,系统编译成功。
在VS2022软件中,选择INSTALL项目,右键选择【重新生成】,则在Cmake中配置的安装位置【D:\glog-master\install】下会生成对应的包含文件和库文件等。
4、由于在QT中使用glog对应的库文件时会出现错误提示,因此需要在VS2022中编译glog项目的时候,选择解决方案中的glog项目和glog_internal项目,分别设置项目属性:【C/C++】-【代码生成】-【运行库】设置为【多线程 (/MT)】
5、在QT中新建项目testGlog(编译器为【msvc2017+x64】,项目路径为【D:\QtCode\testGlog】),拷贝在VS2022软件中生成的【D:\glog-master\install】目录下的所有glog相关的驱动文件夹到【D:\QtCode\testGlog\glog】目录下。
6、在QT中修改testGlog.pro文件中的配置项,新增glog库引用如下:
#MSVC编译器防止中文乱码设置
win32-msvc*: {QMAKE_CFLAGS *= /utf-8QMAKE_CXXFLAGS *= /utf-8
}CONFIG(debug, debug|release) {QMAKE_CFLAGS_DEBUG += /MTdQMAKE_CXXFLAGS_DEBUG += /MTd
}CONFIG(release, debug|release) {QMAKE_CFLAGS_RELEASE += /MTQMAKE_CXXFLAGS_RELEASE += /MTQMAKE_LFLAGS_RELEASE += /RELEASE /NODEFAULTLIB:msvcrt.lib
}INCLUDEPATH += $$PWD/glog/include
DEPENDPATH += $$PWD/glog/include
LIBS += -L$$PWD/glog/lib -lglog
7、修改main.cpp文件代码如下,测试成功。
#define GLOG_NO_ABBREVIATED_SEVERITIES
#define GLOG_EXPORT
#define GLOG_NO_EXPORT
#include <windows.h>
#include <glog/logging.h>using namespace google;
int main(int argc, char* argv[]) {google::InitGoogleLogging("test");google::SetLogDestination(google::GLOG_INFO, "../log/logtestInfo");google::SetLogDestination(google::GLOG_ERROR, "../log/logtestDebug");//不为ERROR建立日志文件google::SetStderrLogging(google::GLOG_INFO);google::SetStderrLogging(google::GLOG_ERROR);google::LogToStderr();for (int i = 0; i < 100; ++i){LOG(INFO) << "TEST" << i << " cookies";}google::ShutdownGoogleLogging();
}
8、运行测试项目、拷贝驱动文件【D:\glog-master\install\bin\glog.dll】到【D:\QtCode\testGlog\Release\release】目录下,再次运行,测试OK.
相关文章:

Cmake编译glog成功并在QT中测试成功步骤
glog是开源的日志记录系统,下载地址GitHub - google/glog: C implementation of the Google logging module 跟gflags有点相似,编译和测试过程比较周折,所以记录下来具体的编译和测试步骤。 编译环境:WindowsCmakeVs2022Qt5.14.…...
AI绘画提示词:从零开始掌握Prompt Engineering的艺术
文章目录 什么是AI绘画提示词?提示词的基本结构主体描述场景/背景风格指定技术参数负面提示人物肖像模板风景模板 高级技巧权重调整混合风格颜色控制情绪氛围 常见问题与解决方法手部变形问题构图不理想风格不够突出 提示词示例库科幻场景奇幻人物静物画 结语 在当今…...

xhr、fetch和axios
XMLHttpRequest (XHR) XMLHttpRequest 是最早用于在浏览器中进行异步网络请求的 API。它允许网页在不刷新整个页面的情况下与服务器交换数据。 // 创建 XHR 对象 const xhr new XMLHttpRequest();// 初始化请求 xhr.open(GET, https://api.example.com/data, true);// 设置请…...
lcd-framebuffer驱动开发参考文章
MMAP mmap的时候总是失败,查了很多资料,显存大小是驱动层fb_info->fix.smem_len设置,要遵循内核页大小的整数倍,应用层调用mmap也要遵循对齐。 MMAP使用(一、基本接口)_mmap接口-CSDN博客 基于fbtft和…...

2025吉林ccpc【部分题解】
文章目录 C - SSPPSPSPProblemD.互互互质质质ProblemF. Ever ForeverProblemG.石石石头头头剪剪剪刀刀刀布布布Problem J.奇偶游戏Problem L.好矩阵 C - SSPPSPSP 题目来源:C - SSPPSPSP !](https://i-blog.csdnimg.cn/direct/26fc1492b1724446be61cf39b718cf9b.…...

PowerDesigner通过SQL反向生成类图
PowerDesigner通过SQL反向生成类图 背景操作步骤步骤1: 选择这个步骤2: 目前我是选择的这个步骤3: 选择这个 其他 背景 工作学习 操作步骤 步骤1: 选择这个 步骤2: 目前我是选择的这个 步骤3: 选择这个 其他 其他同事告诉我的, 我还没有亲自尝试, 应该问题不大. 尝试后再反…...
【appium】环境安装部署问题记录
1.安装uiautomator2 appium driver install uiautomator2(超时报错,多执行几遍) 出现code1,安装失败 执行APPIUM_SKIP_CHROMEDRIVER_INSTALL1 appium driver install uiautomator2 安装失败code196 清理缓存npm cache clean --for…...

【bug排查记录】由Redission配置引发的Satoken血案
背景 在今天服务更改服务配置的redis的database后,本地测试通过,发布到线上。出现所有用户登录状态失效,并且重新登录后也是失效的问题,由于鉴权登录框架使用的是satoken,线上database配置的是1,然后去red…...
深入理解 MySQL 隔离级别:理论与实战
深入理解 MySQL 隔离级别:理论与实战 在数据库管理系统中,事务的隔离级别是确保数据一致性和完整性的关键因素。MySQL 作为广泛使用的关系型数据库,提供了四种不同的事务隔离级别: 读未提交(Read Uncommitted)读已提交(Read Committed)可重复读(Repeatable Read)串行…...

MAC程序签名遇到的问题
整体步骤 需要一个apple开发者账号,个人账户注册需要按年付费 申请证书 申请证书链接 command 空格打开聚焦搜索 输入钥匙串访问打开 默认情况下是没有要的证书的 点击左上角的证书助理,选择请求证书 根据输入创建请求文件并保存到本地 点开申请…...

华为OD机试真题——宜居星球改造计划(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》 华为OD机试真题《宜居…...
C#实现图片缩略图生成:多种模式详解与实践
C#实现图片缩略图生成:多种模式详解与实践 在图像处理的场景中,生成图片缩略图是一项常见且实用的功能。无论是搭建图片展示网站,还是开发本地图片管理工具,按需生成合适尺寸的缩略图,能够有效减少图片传输和显示所需…...

Linux下基本指令的介绍
目录 1.目标 2.快速认识指令 1.pwd 2.clear 3.ls 4.mkdir 5.cd 6.touch 3.细化每一条指令 1.ls指令 2.pwd指令 注: 3.cd指令 4.touch和mkdir指令 6.删除文件 4.总结 1.目标 上一篇博客中,我们了解了Linux的起源和发展,也知道…...

零基础开始的网工之路第十四天------Linux程序管理
目录 一、Linux程序与进程 1、程序,进程,线程的概念 2、程序和进程的区别 3、进程和线程的区别 二、Linux进程基础(生命周期) 1、进程生命周期 2、父子进程的关系 三、程序管理 1、常见的软件包类型 四、Linux操作系统启动流程详解 1、概述 2、启动流程核心阶段 1…...

SIGGRAPH 2025 | 快手可灵团队提出3D感知的电影级文本到视频生成框架CineMaster
Sora、可灵等视频生成模型令人惊艳的性能表现使得创作者仅依靠文本输入就能够创作出高质量的视频内容。然而,我们常见的电影片段通常是由导演在一个场景中精心布置多个目标的运动、摄像机拍摄角度后再剪辑而成的。例如,在拍摄赛车追逐的场景时࿰…...

历年西安电子科技大学计算机保研上机真题
2025西安电子科技大学计算机保研上机真题 2024西安电子科技大学计算机保研上机真题 2023西安电子科技大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 查找不同的连续数字串个数 题目描述 给定一个数字串,查找其中不同的连续数字串的个…...

利用openwrt路由器和随身WIFI搭建CPE
背景: 最近5GCPE挺火,各种硬件层出不穷,包括DY上很多商家在推的AX3000叠加展锐RM500 5G模块,自己组装CPE,成本也在300 看了下开源硬件,其实就是一个开源的openwrt系统,硬件上5G模块通过usb协议…...

科学智能赋能空间科学研究(2):AI4S 范式下空间科学实验的核心挑战
中国科学院空间应用工程与技术中心在空间科学实验领域的研究覆盖了多模态空间科学实验数据模式挖掘、领域知识抽取、跨学科知识融合与认知智能等研究内容,有效促进了空间科学实验领域的数据应用生态的体系化建设,相关研究成果已正式发表于权威学术期刊《…...
计算机网络学习(九)——CDN
一、CDN CDN(Content Delivery Network,内容分发网络)是一种通过分布式节点将内容更高效地传递给用户的技术架构,广泛应用于加速网站、视频、下载、直播等业务。 CDN 是把内容放到离用户最近的“高速公路入口”,提升访…...

Axure设计案例——科技感渐变线性图
想让数据变化趋势展示告别枯燥乏味,成为吸引观众目光的亮点吗?快来看看这个Axure设计的科技感渐变线性图案例!科技感设计风格凭借炫酷的渐变色彩打破传统线性图的单调,营造出一种令人过目难忘的视觉体验。每一条线条都仿佛是流动的…...

【Opencv+Yolo】Day2_图像处理
目录 一、图像梯度计算 图像梯度-sobal算子: Scharr:权重变化更大(线条更加丰富,比Sobel更加细致捕捉更多梯度信息) Laplacian算子:对噪音点敏感(可以和其他一起结合使用) 二、边…...
嵌入式开发学习(第二阶段 C语言笔记)
内存操作 我们对于内存操作需要依赖于string.h头文件中相关的函数库。 内存操作函数 内存填充 头文件:#include <string.h> 函数原型: void* memset(void *s,int c,size_t n)函数功能:将内存块s的前n个字节填充为c,一般…...

STUSB4500 PPS(PD3.0)快充SINK模块——应用 解析
0 前言 朋友参加车展,收获一枚很漂亮的倍思65W氮化镓快充头,送给我了。 我看了手中只支持33W快充的三星陷入了沉思… 快充头支持PPS协议,我心思这玩意适合做可调电源啊! 上网随便一查没查到,都是转换成5V、9V、12V等…...
Android全局网络监控最佳实践(Kotlin实现)
本文将介绍如何在Android应用中实现全局网络状态监控,适配高版本API,并提供完整的Kotlin实现方案。 一、核心实现方案 1. 网络监控核心类 SuppressLint("MissingPermission") class NetworkMonitor private constructor(private val contex…...
从认识AI开始-----解密门控循环单元(GRU):对LSTM的再优化
前言 在此之前,我已经详细介绍了RNN和LSTM,RNN虽然在处理序列数据中发挥了重要的作用,但它在实际使用中存在长期依赖问题,处理不了长序列,因为RNN对信息的保存只依赖一个隐藏状态,当序列过长,隐…...

Docker系列(五):ROS容器化三叉戟 --- 从X11、Wayland到DockerFile实战全解析
引言 随着机器人操作系统(ROS)在机器人领域的广泛应用,容器化技术成为提高开发效率和简化部署的关键。在多种容器化方案中,基于X11、Wayland和标准Dockerfile的ROS容器化方式各有特点,它们在容器内安装ROS1和ROS2的实…...

【位运算】常见位运算总结
位运算 常见位运算总结位1的个数比特位计数汉明距离只出现一次的数字只出现一次的数字 III 常见位运算总结 位1的个数 191. 位1的个数 给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数(也被…...
Delphi 导入excel
Delphi导入Excel的常见方法可分为两种主流方案:基于OLE自动化操作Excel原生接口和利用第三方组件库。以下为具体实现流程及注意事项: 一、OLE自动化方案(推荐基础场景) 该方法通过COM接口调用本地安装的Excel程序,…...

5G RedCap是什么-与标准5G的区别及支持路由器推荐
技术背景与重要性 从智能穿戴到工业传感器,物联网设备种类繁多,但并非所有设备都需要标准5G的全部功能。为满足这些中端应用的需求,3GPP在Release 17中引入了5G RedCap(Reduced Capability),也称为5G NR-L…...

纯html,js创建一个类似excel的表格
后台是php,表中数据可编辑,可删除,可提交到数据库 <!DOCTYPE html> <html> <head><meta charset="utf-8"><style>body {font-family: Arial, sans-serif;margin: 20px;background-color: #fff;}.toolbar {margin-bottom: 10px;disp…...