Protobuf又一坑 - C++标准和ABI兼容性
背景
前段时间例行升级我为游戏框架写的构建系统 cmake-toolset 时,又遇到了 protobuf 的一个新 ABI 兼容性问题。
这已经不是第一次被 protobuf 的 ABI 兼容性问题“教育”了。这篇把问题拆开讲清楚,并给出一套可落地的规避方案,供遇到类似问题的同学参考。
- 编译环境:Windows + Visual Studio 2026
- Abseil-Cpp:20250512.1
- Protobuf:v31.1(看起来目前最新的 v33.1 也有这个问题)
现象与错误定位
首先在链接阶段出现错误: