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 回答