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++ は default-int をサポートしていません
gmock/gmock-matchers.h(2499): 警告 C4183: 'メッセージ': 戻り値の型がありません。'int' を返すメンバー関数と見なされます
Windows 7 で nmake/vc++ を使用してこれをコンパイルしていますが、テスト ファイルにコア gmock インクルード ファイルを追加するだけでこれらのコンパイル エラーが発生する理由がわかりません。誰もこの種のものを見たことがありますか?