最新 最热

Cyber RT模块加载流程简介

Cyber RT是apollo的运行环境框架,提供了模块动态加载机制。 本文基于apollo v6.0介绍Cyber RT的模块加载流程。

2023-10-21
1

跨平台printf封装方法

嵌入式开发中经常需要跨平台移植,但是不同平台的系统函数通常不一样,如果能封装一个平台适配层,将底层系统差异和上层业务代码隔离,移植起来将事半功倍。...

2023-10-21
1

curl交叉编译方法

arm平台curl交叉编译方法。 基于curl + openssl + zlib 的方式组建arm上的https客户端,其中curl作为http客户端,openssl提供https支持,zlib负责处理gzip压缩的http报文。...

2023-10-21
1

Windows 安装 Rust 并设置镜像加速

安装成功之后在 cargo 安装目录 新建 config 文件来设置下载镜像没有更改rust安装路径的话就是在 C:UsersAdministrator.cargo 这个目录

2023-10-21
1

关于protobuf近期版本(v20/v3.20+)和 gRPC v1.54版本在某些编译环境下的一些链接和编译问题

年初的时候我们项目组的构建系统( cmake-toolset )里把 protobuf 升级到了 v20/v3.20 版本, gRPC 也升级到了 v1.54 版本。然而这两个版本在Linux的ELF ABI和MacOS的Macho ABI下都出现了一些符号未定义的问题(当然也包...

2023-10-21
1

protobuf v22和gRPC v1.55版本升级的依赖变化和upb适配

近期的 protobuf v22和 gRPC v1.55 版本在构建流程层面引入了一些比较大的变化。 最初我关注到这个问题是在我参与的一个社区项目 opentelemetry-cpp 的issue中( https://github.com/open-telemetry/opentelemetry-cpp...

2023-10-21
1

使用 CMakePresets.json 简化 CMake 项目初始化繁杂步骤

刚开始做纯 C++ 跨端的项目时,为了考虑项目的统一工程化管理选择使用 CMake + Conan,因为各平台下使用的工具链、 IDE 都不一样。如 Windows 更多人习惯使用 Visual Studio IDE、针对 iOS 和 macOS 的开发更多人喜欢使...

2023-10-21
1

cmake-conan 2.0 接入指南

Conan 2.0 版本已经发布很久了,配套的 cmake-conan 工具也同时得到了更新,在原有 Conan 1.x 版本上增强了功能,对开源项目和公司内部已有的 CMake 项目非常友好,接入简单。本文主要介绍 cmake-conan 的应用场景以及交叉编...

2023-10-21
1

递归修改当前目录 .cpp、.h、.md 文件为 UTF8 或 UTF8-BOM 格式

有些代码目录下的文件格式不同,会导致一些编译错误或者中文出现错误等等问题,下面脚本就是解决这个问题而生的。使用 Autoit3 编译脚本后放到你要转换的目录中,运行脚本会转换所有 .cpp、.h、.md 文件为 UTF8 格式,如果你...

2023-10-21
1

使用 CMake + Git Submodule 方式管理项目三方库

在项目开发过程中,避免不了要使用一些开源的三方库,我参加过的一些团队有不同的管理三方库的方式。不同的方式都各有优缺点,我们先列举一下碰到过的管理方式,说一些他们的优缺点,最后再来讨论我们今天介绍的管理方式弥补了...

2023-10-21
1