0

プロジェクトを VS2010 に変換しました。googletest ベースの単体テスト プロジェクトが含まれています。マクロを使用するとEXPECT_EQ、次のリンカ エラーが発生します。

LNK2019: 未解決の外部シンボル "class testing::internal::String __cdecl testing::internal::StrStreamToString(class std::basic_stringstream,class std::allocator > *)" (?StrStreamToString@internal@testing@@YA? AVString @12@PAV?$basic_stringstream@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@@Z) 関数で参照される "public: class testing::internal::String __thiscall testing ::Message::GetString(void)const " (? GetString@Message@testing@@QBE?AVString@internal@2@XZ)

を使用するEXPECT_TRUEと、すべて正常に動作します。この問題について知っている人はいますか?

ありがとうございました

4

1 に答える 1

1

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

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

これは一般的な問題です。EXPECT_TRUE が機能する場合は、それに固執することをお勧めします。

于 2012-05-07T05:51:17.070 に答える