2012-04-27 10 views
0

プロジェクトをVS2010に変換しました。これには、グーグレストベースのユニットテストプロジェクトが含まれます。私はEXPECT_TRUEを使用すると、すべてが正常に動作し、googletestとVS2010:EXPECT_EQを使用できません

LNK2019: unresolved external symbol "class testing::internal::String __cdecl testing::internal::StrStreamToString(class std::basic_stringstream,class std::allocator > *)" ([email protected]@[email protected]@YA? [email protected]@[email protected][email protected]@[email protected]@V? [email protected]@[email protected]@[email protected]@@Z) referenced in function "public: class testing::internal::String __thiscall testing::Message::GetString(void)const " (? [email protected]@[email protected]@[email protected]@[email protected])

:私はマクロEXPECT_EQを使用する場合、私は、次のリンカエラーが発生します。誰もこの問題について知っていますか?

+0

EXPECT_EQ文のコード例を教えてください。 –

答えて

1

EXPECT_EQは、表示用の文字列にデータ値を変換しようとありがとう。 EXPECT_TRUEはそうではありません。

コードを見ることなく、この機能をコンパイルできますがリンクされていない、つまり実装されていないユーザータイプをテストしているようです。

これは一般的な問題です。 EXPECT_TRUEが機能している場合は、それに固執してください。

+0

これはちょうど数時間私のビット。私が持っているのは、テンプレートの特殊化です。テンプレート struct is_thing { static const bool value = false; }; テンプレート<> struct is_thing { static const bool value = true; };そして、 'EXPECT_EQ(is_thing :: value、false);'を実行しようとしていて、リンカエラーが発生しました。 'EXPECT_FALSE(is_thing :: value);'あなたが提案した通りにうまく動作します。違いが何であるか/なぜこれが起こっているのかをもう少し説明できますか? –

+0

@DavidDoria:適切な質問をして関連するコードを投稿する方が良いでしょう。もしあなたが好きならコメントからリンクしてください。 –

関連する問題