protobuf 25.4编译以及visual studio项目配置


title: protobuf编译配置
date: 2024-07-27 16:00:00
categories:

  • other
  • 工具安装
    tags: MS

Protobuf

下载

官方下载地址

https://github.com/protocolbuffers/protobuf/releases

版本没必要最新,

注意

自22.0版本开始,有重大改变,CMakelist移至根目录而不是cmake文件夹,

第三方库文件夹third_party下面的子目录都为空,意味着需要手动配置(稍后)。
在这里插入图片描述

编译

编译准备

需要工具:CMake,visual studio。

当前路径,protobuf下载在D:\cppsoft 并解压在 protobuf-25.4 中,要在windows上生成protobuf的库,需要用到cmake,任意位置新建一个库文件生成的目录。

我的:D:\cppsoft\protobuf-25.4\test

打开CMake-GUI,选择

  • source code:CMakelist.txt所在的目录,也就是protobuf的根目录(22.0之前的版本选择cmake文件夹下)

  • build the binaries:刚才新建的位置
    请添加图片描述

点击configure选择对应的配置然后Finish。

  • 如果发现报错Error in configuration process,project files may be invalid,确保选择的目录下有cmakelist文件,
  • 查看最下面错误信息,如果是22.0以上版本报错信息会提示googletest或是abseil相关的问题,原因就是之前说的第三方库下没有依赖文件,所以去配置。

位置:/third_party

此处右键终端中运行

git clone https://github.com/google/googletest.git
git clone https://github.com/abseil/abseil-cpp.git
# clone失败考虑更换ssh方式再试试

就会将相应文件下载到对应目录中,再回到cmake中重新configure,发现错误解决。

然后根据需要选择选项,完成后generate,去生成的文件夹点击sln文件打开vs项目。

需要注意选项CMAKE_INSTALL_PREFIX为最后项目生成库文件的目录,自定义。还有一个选项如图,

如果勾选,那么vs中打开时这里会是MT,未勾选应该是MD,(d表示debug)请添加图片描述

开始编译

编译之前配置protoc环境变量,详见百度。

cmake输出目录中双击sln文件,使用vs打开,选择对应编译版本,debug/release,x32/x64,然后开始编译,根据需要生成一些文件或者直接全部生成-生成解决方案,生成需要一些时间,生成后去到这个项目目录(还是这个sln目录),右键终端,执行

cmake --install .

(可能的问题以及瞎摸索的解决方案:对应debug还是release,如果发现生成版本有问题,没有生效,可以在文件cmake_install.cmake文件中找到如图,修改为对应版本即可)

VS中项目配置

执行完后可以在之前的CMAKE_INSTALL_PREFIX选项指定的目录中查看文件

根据这个规则在vs中实际需要protobuf的项目中配置项目属性。需要配置的有:

  • 属性->C/C+±>代码生成->运行库 设置/MT,/MTd或/MD,MDd,需要对应
  • debug的protobuf对应debug的项目,release对应release
  • 配置包含目录include和库目录bin(可能需要lib,这里我两个都配了,因为报错)

  • 配置链接器附加依赖项,添加可能用到的库文件,缺啥补啥。

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值