解决办法: 把自带的gtest 1.4 换成1.5
安装的版本是2.6.4 我在服务器的centos上安装是没问题的。但是我在我的ubuntu系统上安装的时候,make check是不成功的。然后google了下,说是gtest的版本问题。见这个:https://code.google.com/p/protobuf/issues/detail?id=433。
然后我下载了个gtest 1.5编译安装,然后protobuf的make check也可以通过了。
报错的内容:
Making check in .
make[1]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1'
make check-local
make[2]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1'
Making lib/libgtest.a lib/libgtest_main.a in gtest
make[3]: Entering directory `/home/sisinc/Desktop/protobuf-2.4.1/gtest'
depbase=`echo src/gtest.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/bash ./libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I./build-aux -I. -I./include -g -DNDEBUG -MT src/gtest.lo -MD -MP -MF $depbase.Tpo -c -o src/gtest.lo src/gtest.cc &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I./build-aux -I. -I./include -g -DNDEBUG -MT src/gtest.lo -MD -MP -MF src/.deps/gtest.Tpo -c src/gtest.cc -fPIC -DPIC -o src/.libs/gtest.o
In file included from ./include/gtest/gtest-param-test.h:159:0,
from ./include/gtest/gtest.h:59,
from src/gtest.cc:34:
./include/gtest/internal/gtest-param-util-generated.h: In instantiation of ‘testing::internal::ValueArray2<T1, T2>::operator testing::internal::ParamGenerator<T>() const [with T = bool; T1 = bool; T2 = bool]’:
./include/gtest/gtest-param-test.h:1186:28: required from here
./include/gtest/internal/gtest-param-util-generated.h:80:26: error: ‘ValuesIn’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
In file included from ./include/gtest/gtest.h:59:0,
from src/gtest.cc:34:
./include/gtest/gtest-param-test.h:288:58: note: ‘template<class Container> testing::internal::ParamGenerator<typename Container::value_type> testing::ValuesIn(const Container&)’ declared here, later in the translation unit
make[3]: *** [src/gtest.lo] Error 1
make[3]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1/gtest'
make[2]: *** [check-local] Error 2
make[2]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/home/sisinc/Desktop/protobuf-2.4.1'
分享到:
相关推荐
在安装Caffe的过程中,如果protobuf-compiler出现错误,可能是因为系统中的protobuf版本与Caffe的要求不匹配或者安装过程存在问题。 protobuf-2.5.0版本之所以受到推崇,可能是因为它是某些特定环境或配置下的稳定...
在Python环境中,protobuf库是通过pip进行安装的。然而,有时可能会遇到"ModuleNotFoundError: No module named google.protobuf.internal"这样的错误,这通常是因为protobuf的某些依赖没有正确安装或者版本不匹配...
6. 常见问题:转换过程中可能会遇到命名空间冲突、版本不兼容、字段序号变更等问题,解决这些问题通常需要仔细检查.proto文件的语法、更新protobuf编译器版本或调整项目配置。 标签"protobuf c#"表明这个压缩包主要...
在Windows上安装和配置protobuf扩展可能会有一些特殊步骤,比如需要正确配置系统路径,安装Visual C++ Redistributable,以及确保PHP的扩展目录包含正确编译的二进制文件。 在提供的压缩包子文件"php_protobuf.dll"...
3.20.2版本可能解决了之前版本中的兼容性问题、内存泄漏、解析错误等问题,使得开发者在实际项目中遇到的问题更少。 4. **API变化和向后兼容** 虽然protobuf力求保持向后兼容,但有时为了改进和优化,可能会有API...
标题中的"protobuf3.0-windows"指的是Google的Protocol Buffers(简称protobuf)的3.0版本,这是一...同时,由于是beta版本,可能存在一些不稳定因素,开发者需要关注官方更新和社区反馈,以便及时解决可能出现的问题。
在QT中使用Protobuf,首先需要安装和配置好Protobuf的编译环境,包括安装protoc编译器和相关的头文件。然后,需要下载或编译适合QT的动态库文件(如libprotobuf.dll、libprotobuf-lite.dll等)。接着,将这些动态库...
4. **错误处理和调试**:新版本可能包含了更详细的错误信息和更好的调试支持,帮助开发者快速定位和解决问题。这可能包括新的日志记录选项、更好的异常处理机制或者新增的诊断工具。 5. **语言支持**:protobuf支持...
这里提到的问题是关于在Objective-C环境中使用protobuf的插件,特别是针对protobuf 2.4.1版本。 protobuf的主要功能在于定义数据结构(通过.proto文件),然后自动生成对应语言的源代码,使得开发者能够方便地序列...
总的来说,这个工具是为了解决游戏开发中数据管理和更新的问题,通过protobuf的高效序列化能力,将Excel中的数据结构转换为Unity可以直接使用的C#类,简化了游戏开发流程,提高了工作效率。同时,这也涉及到Python...
**protobuf简介** Protocol Buffers(简称Protobuf)是由Google开发的一种数据序列化协议,它能够将结构化的数据序列化,可...通过研究源码,开发者可以更好地利用protobuf解决实际问题,提升软件的效率和可维护性。
在交叉编译过程中,可能遇到一些编译错误,本文指出在尝试使用protobuf 3.0版本时遇到了难以解决的问题。错误信息表明在构造函数中存在未定义的成员变量。由于对protobuf不够熟悉,以及缺乏有效的在线资源解决这一...
安装Cartographer时,需要确保系统中已经正确安装了这些依赖项。对于ceres-solver,通常需要包含相应的数学库,如BLAS(基础线性代数子程序)和LAPACK(线性代数包)。在Ubuntu上,可以使用以下命令安装: ```bash ...
- 错误修复:解决了3.6.1版本中存在的一些已知问题和漏洞。 对于开发者来说,选择合适版本的protobuf取决于项目需求、目标平台以及对新特性和性能的考虑。在升级protobuf时,需要确保所有依赖protobuf的代码和库也...
- 在某些情况下,可能需要在protobuf自动生成的源文件中手动添加`#include "stdfax.h"`,以解决VS特定的编译问题。 这个例子展示了如何在Windows环境下搭建protobuf开发环境,以及如何使用protobuf进行基本的数据...
标题中的“protobuf vs版本”指的是Protocol Buffers(protobuf)在Visual Studio环境下的编译版本问题。Protocol Buffers是由Google开发的一种数据序列化协议,它允许结构化数据串行化,可用于数据存储、通信协议等...
通过安装protobuf-jetbrains插件,开发者可以在熟悉的JetBrains IDE环境中更加高效地编写和管理protobuf项目,提升开发体验和团队协作效率。对于使用protobuf进行跨平台通信或数据存储的项目来说,这个插件是不可或...
总的来说,protobuf的Go语言插件在Linux环境下提供了强大的数据序列化解决方案,尤其适用于构建高性能的微服务架构。通过使用这个插件,Go开发者可以利用protobuf的强大功能,提高代码的可读性和运行效率,同时降低...
6. **在VS2015中打开解决方案**:打开VS2015,然后加载生成的`protobuf.sln`文件。 7. **构建项目**:在VS2015中,选择适当的构建配置(通常是Debug或Release),然后构建整个解决方案。这将编译protobuf库和相关的...
描述中提到,这个压缩包是为网络条件不佳的用户准备的,包含了protobuf 2.6.0的所有内容,用户下载后可以直接在zip文件中找到所需资源。 标签“谷歌协议”进一步确认了这是与Google相关的技术,Protocol Buffers是...