首页 > 其他分享 >protobuf 25.4编译以及visual studio项目配置

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

时间:2024-07-27 17:25:39浏览次数:9  
标签:文件 cmake protobuf 生成 编译 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,这里我两个都配了,因为报错)

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

请添加图片描述

标签:文件,cmake,protobuf,生成,编译,visual,studio,目录
From: https://blog.csdn.net/weixin_62486437/article/details/140738372

相关文章

  • Python 与 Visual Studio Professional 2022(64 位)- 预览版本 5.0 交互窗口挂起
    我正在MicrosoftVisualStudioProfessional2022(64位)-预览版17.11.0预览版5.0上运行Python开发工作负载。我正在关注VisualStudio中的Python教程https://learn.microsoft.com/en-us/visualstudio/python/tutorial-working-with-python-in-visual-studio-st......
  • FL Studio Producer Edition 21.2.3.4004破解版
    思杰马克丁警告!!!搬运一下国外破解网站https://rutracker.net/(原rutracker.org,换网址了)的破解版本直接上链接Image-Line-FLStudio制作版21.2.3.4004-WD[10.02.2024,ENG]::RuTracker.org首先声明一下,我没有接夸克广告,只是懒得调默认下载器并且最好使用其他下载器,别用夸......
  • FL Studio 24.1.1.4234官方中文版全新发布
     在当今这个数字化的时代,音乐制作已经成为了一项越来越受欢迎的艺术形式。FLStudio作为一款功能强大的数字音频工作站(DAW),一直以其出色的性能和丰富的功能吸引着全球的音乐创作者。今天,我们就来详细探讨一下FLStudio24.1.1.4239中文版在音乐制作中的卓越表现以及它为创作者......
  • Visual C++ 官方版下载与安装教程(微软常用运行库合集|DLL报错必装)
    前言MicrosoftVisualC++Redistributable(简称MSVC,VB/VC,系统运行库)是Windows操作系统应用程序的基础类型库组件。此版VisualC++运行库组件合集(微软常用运行库合集)由国内封装爱好者@Dreamcast打包而成,整合VisualC++组件安装包运行库所有版本,提供图形安装界面,可自选更新V......
  • Camtasia Studio2024破解Crack中文永久激活版安装教程+汉化补丁
    在当今数字化内容盛行的时代,视频已经成为信息传递、知识分享和创意表达的重要形式。无论是教育工作者制作教学视频、企业员工进行培训内容创作,还是自媒体创作者展示创意作品,一款功能强大且易于使用的视频编辑软件都是必不可少的。今天,我们要为您介绍的就是这样一款备受瞩目的视......
  • Android Studio自带Profiler工具内存泄露分析步骤
    1、运行需要检测内存泄露的程序这里以“com.example.opengltest”程序为例。2、点击Profiler按钮3、点击SESIONS"+"号按钮选择设备,选择对应设备下的应用或进程4、双击内存区块5、操作应用程序要检测的部分或模块6、关闭应用程序,多次点击鼠标右键“Forcegabagecollectio......
  • Windosw下Visual Studio2022编译FFmpeg(支持x264、x265、fdk-acc)
            FFmpeg 7.0版本移除了6.0之前已弃用的API,无法向下兼容。所以编译的版本选择FFmpeg6.1.1。一、安装VisualStudio2022可参考另外一篇文章:Windows安装VisualStudio2022+QT5.15开发环境_qt5.15.2vs2022-CSDN博客 二、安装MSYS2下载地址:https://www......
  • Label Studio:从零到一
    吾名爱妃,性好静亦好动。好编程,常沉浸于代码之世界,思维纵横,力求逻辑之严密,算法之精妙。亦爱篮球,驰骋球场,尽享挥洒汗水之乐。且喜跑步,尤钟马拉松,长途奔袭,考验耐力与毅力,每有所进,心甚喜之。 吾以为,编程似布阵,算法如谋略,需精心筹谋,方可成就佳作。篮球乃团队之艺,协作共进,方显力......
  • 修改 Visual Studio 程序集信息中的默认公司
    我们在使用VisualStudio创建项目时,会发现程序集信息中的默认公司是Microsoft我们可以通过修改项目文件来修改程序集信息中的默认公司。但是这种方式修改的是当前项目文件,后续创建的项目还是会使用默认的公司信息。我们可以通过注册表来修改默认公司,这样之后创建的项目都会......
  • CMake 生成 Visual Studio 项目管理工程文件 sln
    前言全局说明CMake生成VisualStudio项目管理工程文件sln一、说明环境:Windows7旗舰版二、生成sln项目工程文件2.1UI界面版生成方式https://blog.csdn.net/analogous_love/article/details/1349075402.2命令行生成方式2.2.1看看都支持生成哪些版本2.2.......