我正在尝试将 googlemock 集成到我的测试中。我已经在 googletest 上成功构建并运行了测试,现在我也在尝试将 gmock 功能逐步添加到测试中,但是我遇到了一个我完全不理解的编译错误。
我没有尝试使用或定义模拟类,或使用 gmock.h 提供的任何东西。在我(以前工作的)tests.cpp 文件的顶部,我只需键入
#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:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
gmock/gmock-matchers.h(2499):警告 C4183:“消息”:缺少返回类型;假定为返回“int”的成员函数
我在 Windows 7 上使用 nmake/vc++ 编译它,我无法理解为什么我会通过将核心 gmock 包含文件添加到我的测试文件中来获得这些编译错误。有没有人见过这种东西?