随笔分类 - InWork:Cpp 3rd Party
摘要:【Protoc】VS2019 (VS平台) 使用 CMake 编译安装、使用 Protobuf 库 本文介绍在 macOS 系统下 cmake 和 protobuf 一起使用的一种方式——使用 cmake 自动编译 proto 文件为 pb.cc 和 pb.h 文件。 protobuf protob
阅读全文
摘要:QuaZIP使用记录 官方文档 一、QuaZIP是什么 QuaZIP is a simple C++ wrapper over Gilles Vollant’s ZIP/UNZIP package that can be used to access ZIP archives. It uses th
阅读全文
摘要:
Unit Test 和 gtest 介绍 单元测试( Unit Test ,模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通过编写单元测试可以在编码阶段发现程序编码错误,甚至是程序设计错误。 单元测试不但可以增加开发者对于所完成代码的自信,同时,好的单元测试
阅读全文

该文被密码保护。
摘要:fmt的痛与对format设计的思考 fmt:轻量高性能的C++格式化库 C++20 引入了新的 format() 函数,该函数以字符串形式返回参数的格式化表示。format() 使用 python 风格的格式化字符串,具有简洁的语法、类型安全,以及出色的性能。 format() 函数接受一个格式字
阅读全文
摘要:gflags是Google开源的一个库,可以很方便地定义一些全局变量,并且可以从命令行设置他们的值,广泛应用于各个项目中以及自己平时的开发中。本期参考gflags的官方文档,简单直接介绍下怎么使用这个库。 构建依赖环境 使用 VcPkg 即可 cmake_minimum_required(VERSI
阅读全文
摘要:前置条件: 【Protoc】VS2019 (VS平台) 使用 CMake 编译安装、使用 Protobuf 库 【ToolChains】CLion(VS2019) + CMake + Vcpkg 的使用 参考博客: Protocol Buffers C++ 入门教程 高效的数据压缩编码方式 Prot
阅读全文
摘要:参考链接:Here 什么是nlohman json ? nlohman json GitHub - nlohmann/json: JSON for Modern C++ 是一个为现代C++(C++11)设计的JSON解析库,主要特点是 易于集成,仅需一个头文件,无需安装依赖 易于使用,可以和STL无
阅读全文
摘要:背景:工作中需要使用到 protobuf,看了一些教程,感觉都不是很适合,便自己总结一些 开发环境: Win 10 VS2019 CMake 3.24.2 Protobuf 3.21.12 (Protoc 版本必须于 Protobuf 版本一致) MinGW 版本的编译在之后有空再研究。 https
阅读全文
摘要:常用简写: namespace logging = boost::log; namespace src = boost::log::sources; namespace expr = boost::log::expressions; namespace sinks = boost::log::sin
阅读全文
摘要:日志能方便地诊断程序原因、统计程序运行数据,是大型软件系统必不可少的组件之一。本文将从设计上和功能上对比 C++ 语言常见的两款日志库: boost::log 和 google-glog 。 设计 boost::log 的设计主要有日志器( Logger )、日志核心( Logging core )
阅读全文
摘要:个人环境 MinGW:使用 QT6 install 的 mingw1120_64. CMake:使用 QT6 install 的 CMake 3.24.2. 第一次编译时,默认生成VS的工程文件,为了修改编译器为MinGW,在编译时,键入: cmake -G "MinGW Makefiles" -D
阅读全文
该文被密码保护。
摘要:OpenSSL从1.0.2版本升级为3.0.3版本后,需要对代码进行重构。如果不可用的代码太多,需要重新开一个项目、重新配置开发环境。 【第一步】登录http://slproweb.com/,下载Win64 OpenSSL v3.1.2安装包。 【第二步】正常完成安装。 【第三步】找到OpenSSL
阅读全文
摘要:应用场景: 使用C++开发一个支持websocket协议的服务进程,可与HTML5(浏览器js文件)通信。来实现替换基于firebreath框架的跨浏览器插件开发。 当前,讲述websocketpp开源库的应用。目的是为了实现C++进程,支持websocket协议。 但 WebSocketpp 是一
阅读全文
摘要:LibCurl 在官网中明确指出支持 HomeBrew 进行安装。 那么在 macOS 端的安装就不会想 Win 下需要根据版本进行编译了,方便许多 brew install curl # 安装完成后会提示 curl 在 macOS 库文件和依赖文件的安装路径 CMake 配置 CMake 是一种跨
阅读全文
摘要:要编译的 Boost 版本:1.82.0 假设 Boost 的根目录为 如果不想编译可以使用博主编译后的Boost:https://pan.baidu.com/s/1s2fLoEgJX3540rk_WIkNOQ?pwd=yyds 一、关于 VC14.2 编译 https
阅读全文
摘要:概述 在macOS开发时常常使用Boost库,若项目使用CMake进行组织管理和编译,需要掌握在CMake中实现Boost库的引用的基本语法。本片博客结合自己在实际使用过程中的经验进行总结,以期回顾和进行阶段总结。 CMakeLists.txt编写 find_package 通过调用find_pac
阅读全文