Protobuf,gmock,gtest在windows10上的编译与安装

2024-03-15 22:38

本文主要是介绍Protobuf,gmock,gtest在windows10上的编译与安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先要说的是,这种编译与安装不是必须的,用户可以自己下载protoc的二进制文件直接使用。因为开发和调试的原因,我经常反复需要编译不同版本的protobuf,例如NCNN用的protobuf3.4.0。因为重复的过程中自己也没有详细记录过,所以这里记录一下备忘。

(I)第一步,下载gmock。

https://codeload.github.com/google/googletest/tar.gz/refs/tags/release-1.11.0https://codeload.github.com/google/googletest/tar.gz/refs/tags/release-1.11.0

编译安装 gmock (现在并入到了gtest)不是必须的,后续protobuf只要求路径正确即可。

不过我这里还是先编译一下,非常简单,用cmake配置后编译即可,如下, 

 注意,在Configure时候,cmake会弹出对话框,此时可以选择win32还是x64,我这里选择的是x64

 (II)第二步,下载编译安装 protobuf-3.4.0。

原来下载编译protobuf的时候,直接把gmock下载到protobuf下面的子文件夹就可以了,可惜的是,gmock现在被google并入到gtest中,所以如果是从上面这个链接下载下来的话,地址可能要变。

我解压后的gmock地址在这里:D:\vsAI\googletest1110\googlemock

我的protobuf目录在这里:D:\vsAI\protobuf340

直接配置的话,会生成错误:cannot find gmock directory.

 解决办法是写入正确的地址。修改文件<D:\vsAI\protobuf340\cmake\tests.cmake> 中的第1,16,25等行。不过这比较麻烦,我的解决办法是直接

(1)把文件夹

D:\vsAI\googletest1110\googlemock

拷贝到

D:\vsAI\protobuf340\gmock

(2)把文件夹

D:\vsAI\googletest1110\googletest

拷贝到

D:\vsAI\protobuf340\gmock\gtest

然后再配置cmake-gui,就一切OK了。最后Open Project,用vs2017编译,一切顺利,如下,

 后话:编译老版本的probobuf,最主要的是设置对googlemock和googletest的路径。

Probobuf3.9.1 + VS2019

当编译protobuf3.9.1时,很简单,直接把googletest解压到thirty_party目录下即可。如下图,

注意事项

我的zlib是自己编译的,所以在用cmake-gui配置时需要填入zconf.h和zlib.h的路径,
D:\vsNCNN\zlib1211\dev\zconf.h
D:\vsNCNN\zlib1211\zlib.h,

cmake-gui的配置如下,

出现的问题

当在path环境变量中设置了其他版本的protoc.exe的路径时,编译很容易出现冲突,比如这样的错误,

https://github.com/tensorflow/tensorflow/issues/29978

protobuf/arena.cc:53:13: error: use of undeclared identifier 'LifecycleId'
std::atomic<LifecycleId> ArenaImpl::lifecycle_id_generator_;

解决办法就是在环境变量中删除这些路径,删除cmake-gui中的cache,重启cmake-gui后再配置编译。 

这篇关于Protobuf,gmock,gtest在windows10上的编译与安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/813485

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地