googletest和VS2010:无法使用EXPECT_EQ

时间:2012-04-27 20:13:46

标签: visual-studio visual-c++ googletest

我已将项目转换为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杜?$ @ char_traits @ d @@性病V'   $ allocator @ D @ 2 @@ std @@@ Z)在函数“public:class”中引用   testing :: internal :: String __thiscall   testing :: Message :: GetString(void)const“(?   的GetString @消息@ @@测试QBE?AVString @内部@ 2 @ XZ)

当我使用EXPECT_TRUE时,一切正常。有人知道这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:1)

EXPECT_EQ尝试将数据值转换为字符串以供显示; EXPECT_TRUE没有。

如果没有看到您的代码,您似乎正在测试可以编译此功能但未链接的用户类型,即未实现。

这是一个常见问题。如果EXPECT_TRUE有效,您可能只想坚持下去。