Windows Cmake Vs2017/2010 编译安装Protobuf

1.环境准备

  • 安装cmake
  • 安装visuao studio 2017
  • 下载protobuf
  • cmake ... -DCEF_USE_SANDBOX=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14

1.1安装cmake

下载cmake安装包cmake:https://cmake.org/

也可以使用免安装版本

1.1.1linux下源码编译安装cmake

1.3下载安装protobuf

网址链接:https://github.com/protocolbuffers/protobuf/releases

可以选择对应的版本进行下载

我这里选择3.10版本进行下载
下载完成以后对其解压

打开cmake 进行编译构建

新建文件夹为当前编译路径build_vs2017

指定cmka路径

选择配置 (这个是32位的)

这个是64位的

点击【Finsh】进行配置

CMAKE_CONFIGURATION_TYPES: 指定生成的项目配置类型(如 Debug、Release 等)

CMAKE_INSTALL_PREFIX: 设置库的安装路径。它指定了在 install 时库文件将被安装到哪个目录

protobuf_BUILD_PROTOC_BINARIES: 控制是否构建 protoc 编译器的。protoc 用来将 .proto 文件编译成对应的语言代码

protobuf_BUILD_SHARED_LIBS: 制是否编译为动态库或共享库。如果设置为 ON,Protobuf 将被编译为共享库;如果设置为 OFF,Protobuf 将被编译为静态库

protobuf_WITH_ZLIB: 控制是否编译安装 zlib 库。Zlib 是一个用 C 语言编写的压缩库,Protobuf 在一些情况下可能会用到它 需要勾选

protobuf_MSVC_STATIC_RUNTIME 以静态库的方式进行连接

最后,点击 Generate,生成 Visual Studio 项目。

打开工程 开始编译

会在对应的安装目录下可以查看到

VS2010 编译protobuf

下载源码 这里以3.3.0举例

问题报错

这个错误是因为你在用 CMake GUI 编译 Protobuf 时启用了测试选项(默认可能是开着的),它在构建时会尝试加载 Google Test 和 Google Mock,但源码中没有包含对应目录,导致找不到 gmock,报错如下:

cpp 复制代码
CMake Error at tests.cmake:2 (message):
 Cannot find gmock directory.

正确解决方法:关闭测试选项

🔧 在 CMake GUI 中操作如下:

打开 CMake GUI,设置好:

cpp 复制代码
Where is the source code: E:/MyProtobuf/protobuf-3.3.0
Where to build the binaries: E:/MyProtobuf/protobuf-3.3.0/build_vs2010
点击 "Configure"(第一次配置)
找到 protobuf_BUILD_TESTS,将其取消勾选(设为 OFF)
点击 "Generate"
然后你就可以在 build_vs2010 文件夹中打开生成的 protobuf.sln 并编译了

直接install

相关推荐
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
rockmelodies2 天前
# Windows Server2008 R2 Standard(SP1镜像U盘)重置本地管理员密码【完整详细步骤】
windows·密码破解
kakakahahahaha2 天前
Windows C盘空间不足的安全清理与迁移流程
windows·电脑·笔记本电脑·软件需求·c盘清理
做咩啊~2 天前
远程连接提示:身份验证错误,要求的函数不受支持
windows
百事牛科技2 天前
PPT只读怎么取消?四种情况分别处理
windows·powerpoint
熊明才3 天前
WSL2 网络突然瘫痪(Network is unreachable / 没有 eth0)最短修复指南(2026年9月20日亲测可用)
linux·windows·wsl2
xbzb3 天前
Windows 启动故障修复知识整理:蓝屏 / 无限重启 / 盘符 X / 无 PE 盘
windows
我命由我123453 天前
Mac 操作系统 - 一些使用记录
运维·windows·学习·系统安全·运维开发·mac·学习方法
kakakahahahaha4 天前
Windows Steam 游戏存档在哪里?定位和恢复排查流程
windows·其他·电脑·笔记本电脑·内容运营·软件需求
Xy-unu4 天前
Windows 开启外接显示器 HDR 后外接显示器无信号、无法扩展模式故障记录
windows