首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我#include "gmock/gmock.h“时编译错误

当我#include "gmock/gmock.h“时编译错误
EN

Stack Overflow用户
提问于 2012-05-25 00:13:49
回答 2查看 9.3K关注 0票数 8

我正在尝试将googlemock集成到我的测试中。我已经成功地在googletest上构建并运行了测试,现在正在尝试将gmock功能逐步添加到测试中,但我遇到了一个完全不能理解的编译错误。

我并不打算使用或定义模拟类,也不会使用gmock.h提供的任何东西。在我(以前工作过的) tests.cpp文件的顶部,我只需输入

代码语言:javascript
复制
#include "gmock/gmock.h"

我得到了编译错误:

gmock/gmock-matchers.h(2497):错误C2059:语法错误:'sizeof‘

gmock/gmock-matchers.h(2505):请参阅对正在编译的类模板实例化'testing::internal::ElementsAreMatcherImpl‘的引用

gmock/gmock-matchers.h(2497):错误C2059:语法错误:')‘

gmock/gmock-matchers.h(2497):错误C2143:语法错误:')‘之前缺少’)‘

gmock/gmock-matchers.h(2497):错误C4430:缺少类型说明符-假定为整型。注意: C++不支持default-int

gmock/gmock-matchers.h(2499):警告消息:‘C4183’:缺少返回类型;假定为返回'int‘的成员函数

我是在Windows7上使用nmake/vc++编译的,我不明白为什么仅仅将核心gmock include文件添加到我的测试文件中就会出现这些编译错误。以前有没有人见过这种东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-22 22:43:26

  1. 你在测试项目的主函数中使用InitGoogleMock(&__argc,__argv)初始化谷歌模拟了吗?
  2. 你应该在你的测试文件中只包含"gmock/gmock.h“(在你调用InitGoogleMock的地方)-不需要包含gtest.h。
  3. 你已经把你的googletest库更新为googlemock了吗?(https://github.com/google/googletest)

如果上面所有的事情都是真的,那么它应该是可行的。

票数 4
EN

Stack Overflow用户

发布于 2022-02-17 05:25:33

代码语言:javascript
复制
Even after verifying the above steps(last step need information) still im facing the same error.

g++ MockTest.cpp -lgtest
MockTest.cpp:1:10: fatal error: gmock/gmock.h: No such file or directory
    1 | #include "gmock/gmock.h"
      |          ^~~~~~~~~~~~~~~
compilation terminated.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10741322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档