gpt4 book ai didi

c++ - 当我#include "gmock/gmock.h"时编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:58 24 4
gpt4 key购买 nike

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

我没有尝试使用或定义模拟类,也没有使用 gmock.h 提供的任何内容。在我的(以前工作的)tests.cpp 文件的顶部,我只输入

#include "gmock/gmock.h"

我得到了编译错误:

gmock/gmock-matchers.h(2497) : error C2059: syntax error : 'sizeof'

gmock/gmock-matchers.h(2505) : see reference to class templateinstantiation 'testing::internal::ElementsAreMatcherImpl'being compiled

gmock/gmock-matchers.h(2497) : error C2059: syntax error : ')'

gmock/gmock-matchers.h(2497) : error C2143: syntax error : missing ')'before '{'

gmock/gmock-matchers.h(2497) : error C4430: missing type specifier -int assumed. Note: C++ does not support default-int

gmock/gmock-matchers.h(2499) : warning C4183: 'Message': missingreturn type; assumed to be a member function returning 'int'

我在 Windows 7 上使用 nmake/vc++ 编译它,但我不明白为什么仅仅通过将核心 gmock 包含文件添加到我的测试文件中就会出现这些编译错误。有人见过这种事吗?

最佳答案

  1. 您是否在测试项目的主要函数中使用 InitGoogleMock(&__argc, __argv) 初始化了 google mock?
  2. 您应该只在测试文件中包含“gmock/gmock.h”(以及您调用 InitGoogleMock 的位置)——无需包含 gtest.h。
  3. 您是否已将 googletest 库更新为 googlemock。 ( https://github.com/google/googletest )

如果上面所有的事情都是真的,它应该可以工作。

关于c++ - 当我#include "gmock/gmock.h"时编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10741322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com