Ошибка компиляции, когда я #include «gmock/gmock.h»

Я пытаюсь интегрировать googlemock в свои тесты. Я уже успешно создавал и запускал тесты в googletest, а теперь пытаюсь постепенно добавить функциональность gmock в тесты, но столкнулся с ошибкой компиляции, которую совершенно не понимаю.

Я не пытаюсь использовать или определять фиктивные классы или использовать что-либо, что предоставляет gmock.h. В верхней части моего (ранее работавшего) файла test.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++ не поддерживает default-int

gmock/gmock-matchers.h(2499): предупреждение C4183: «Сообщение»: отсутствует возвращаемый тип; Предполагается, что это функция-член, возвращающая 'int'

Я компилирую это с помощью nmake/vc++ в Windows 7 и не могу понять, почему я получаю эти ошибки компиляции просто из-за добавления основного файла включения gmock в мой тест. файл.Кто-нибудь видел подобное раньше?

5
задан whazzmaster 24 May 2012 в 16:13
поделиться