C++ google单元测试框架的链接器错误

C++ google单元测试框架的链接器错误,c++,unit-testing,visual-studio-2008,linker,googletest,C++,Unit Testing,Visual Studio 2008,Linker,Googletest,我创建了一个测试控制台exe项目来在VS2008中测试我的程序 使用以下代码将gtestd.lib链接到该项目 MAIN #include "gtest/gtest.h" int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } 返回此链接器错误: 1>gtestd.lib(gtest-all.obj) : error LNK2

我创建了一个测试控制台exe项目来在VS2008中测试我的程序

使用以下代码将gtestd.lib链接到该项目

MAIN

#include "gtest/gtest.h"

int main(int argc, char **argv) 
{
  ::testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}
返回此链接器错误:

1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol ___report_rangecheckfailure referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl testing::internal::CodePointToUtf8(unsigned int)" (?CodePointToUtf8@internal@testing@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base12::_Container_base12(void)" (__imp_??0_Container_base12@std@@QAE@XZ) referenced in function "public: __thiscall std::_String_val<struct std::_Simple_types<char> >::_String_val<struct std::_Simple_types<char> >(void)" (??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base12::~_Container_base12(void)" (__imp_??1_Container_base12@std@@QAE@XZ) referenced in function "public: __thiscall std::_String_val<struct std::_Simple_types<char> >::~_String_val<struct std::_Simple_types<char> >(void)" (??1?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: struct std::_Iterator_base12 * * __thiscall std::_Container_base12::_Getpfirst(void)const " (__imp_?_Getpfirst@_Container_base12@std@@QBEPAPAU_Iterator_base12@2@XZ) referenced in function "protected: void __thiscall std::_Tree<class std::_Tset_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,0> >::_Orphan_ptr(class std::_Tree<class std::_Tset_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,0> > &,struct std::_Tree_node<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,void *> *)const " (?_Orphan_ptr@?$_Tree@V?$_Tset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IBEXAAV12@PAU?$_Tree_node@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@2@@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base12::_Orphan_all(void)" (__imp_?_Orphan_all@_Container_base12@std@@QAEXXZ) referenced in function __catch$??$_Insert@PBQBD@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAEXV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@1@PBQBD1Uforward_iterator_tag@1@@Z$0
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base12::_Swap_all(struct std::_Container_base12 &)" (__imp_?_Swap_all@_Container_base12@std@@QAEXAAU12@@Z) referenced in function "?_Assign_rv@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAEX$$QAV12@@Z" (?_Assign_rv@?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@@std@@QAEX$$QAV12@@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) referenced in function "char * __cdecl std::_Allocate<char>(unsigned int,char *)" (??$_Allocate@D@std@@YAPADIPAD@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)" (__imp_?_Xlength_error@std@@YAXPBD@Z) referenced in function "protected: class std::_Tree_const_iterator<class std::_Tree_val<struct std::_Tree_simple_types<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > __thiscall std::_Tree<class std::_Tset_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,0> >::_Insert_at<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct std::_Nil>(bool,struct std::_Tree_node<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,void *> *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct std::_Nil)" (??$_Insert_at@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U_Nil@2@@?$_Tree@V?$_Tset_traits@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@$0A@@std@@@std@@IAE?AV?$_Tree_const_iterator@V?$_Tree_val@U?$_Tree_simple_types@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@@std@@@1@_NPAU?$_Tree_node@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@U_Nil@1@@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xout_of_range(char const *)" (__imp_?_Xout_of_range@std@@YAXPBD@Z) referenced in function "public: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Xran(void)const " (?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPBDH@Z) referenced in function "public: virtual class std::error_condition __thiscall std::_System_error_category::default_error_condition(int)const " (?default_error_condition@_System_error_category@std@@UBE?AVerror_condition@2@H@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z)
1>gtestd.lib(gtest-all.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __int64 __thiscall std::ios_base::width(void)const " (__imp_?width@ios_base@std@@QBE_JXZ) referenced in function "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
1>gtestd.lib(gtest all.obj):错误LNK2019:函数“class std::basic_string_ucdecl testing::internal::CodePointToUtf8(unsigned int)”中引用的未解析外部符号报告范围检查失败(?CodePointToUtf8@internal@测试@@YA?AV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@I@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:\u thiscall std:\u Container\u base12::\u Container\u base12(void)”(\u imp\u0\u Container_base12@std@@QAE@XZ)在函数“public:\uu thiscall std:\u String\u val::\u String\u val(void)”中引用(?0?$\u String_val@U简单吗_types@D@std@@@std@@QAE@XZ)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:\u thiscall std::\u Container\u base12::~\u Container\u base12(void)”(\u imp\u1\u Container_base12@std@@QAE@XZ)在函数“public:\u thiscall std::\u String\u val::~\u String\u val(void)”中引用(?1?$\u String_val@U简单吗_types@D@std@@@std@@QAE@XZ)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:struct std::\u迭代器\u base12**\u thiscall std:\u容器\u base12::\u Getpfirst(void)const”(\u imp?_Getpfirst@_Container_base12@std@@QBEPAPAU_迭代器_base12@2@XZ)在函数“protected:void\u thiscall std::\u Tree::\u Orphan\u ptr”中引用(类标准::_树和结构标准::_树_节点*)常量”(?)孤儿$_Tree@V?$\u Tset_traits@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@U$less@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@2@$0A@@@std@@@std@@IBEXAAV12@PAU?$\u树_node@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@性病@@PAX@2@@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:void\u thiscall std::\u Container\u base12::\u Orphan\u all(void)”(\u imp\uu Orphan_all@_Container_base12@标准@@QAEXZ)在函数u_catch$?中引用$_Insert@PBQBD@?$vector@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@V$allocator@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@2@@@std@@@QAEXV?$\u向量\u常数_iterator@V?$\u向量_val@U简单吗_types@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@std@@@std@@@1@PBQBD1Uforward_迭代器_tag@1@@Z$0
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:void\u thiscall std::\u Container\u base12::\u Swap\u all(struct std::\u Container\u base12&”)(\u imp\uu Swap_all@_Container_base12@函数中引用的std@@QAEXAAU12@@Z)“?_分配_rv@?”$vector@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@V$allocator@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@@2@@std@@QAEX$$QAV12@@Z”(?_分配_rv@$vector@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@V$allocator@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@2@@@std@@@QAEX$$QAV12@@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\uu declspec(dllimport)void\uu cdecl std::\u Xbad\u alloc(void)”(\uu imp?\uxbad_alloc@std@@YAXXZ)在函数“char*uu cdecl std::_Allocate(unsigned int,char*)”中引用(?)$_Allocate@D@性病@@YAPADIPAD@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\uu declspec(dllimport)void\uu cdecl std::\u Xlength\u error(char const*)”(\uu imp?\uxlength_error@std@@YAXPBD@Z)在函数“protected:class std::_Tree\u const\u iterator\u thiscall std:_Tree::_Insert_at”中引用(bool,struct std::_Tree_node*,class std::basic_string const&,struct std:_Nil)”(??$\u插入_at@ABV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@U_Nil@2@@?$_Tree@V?$\u Tset_traits@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@U$less@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@@2@V?$allocator@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@2@$0A@@@std@@@std@@@IAE?AV$_树常数_iterator@V?$\u树_val@U?$\u树\u简单_types@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@@std@@@std@@@std@@@1@_NPAU?$\u树_node@V?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@PAX@1@ABV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@1@U_Nil@1@@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\uu declspec(dllimport)void\uu cdecl std::\u Xout\u of_range(char const*)”(\uu imp?\uxout\u of_range@std@@YAXPBD@Z)函数“public:void\u thiscall std::basic\u string::\u Xran(void)const”中引用(?\u Xran@?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@QBEXXZ)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\uu declspec(dllimport)char const*\uu cdecl std::\u Syserror\u map(int)”(\uu imp\uu Syserror_map@std@@YAPBDH@Z)函数“public:virtual class std::error\u condition\u thiscall std::\u System\u error\u category::default\u error\u condition(int)const”中引用(?默认_错误_condition@_System_error_category@标准@@UBE?AVerror_condition@2@H@Z)
1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“\uu declspec(dllimport)char const*\uu cdecl std::\u Winerror\u map(int)”(\uu imp\uwinerror_map@std@@YAPBDH@Z)函数“public:virtual class std::basic_string\u thiscall std::_System\u error\u category::message(int)const”中引用(?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@2@H@Z)

1> gtestd.lib(gtest all.obj):错误LNK2019:未解析的外部符号“u declspec(dllimport)public:u int64 u thiscall std::ios_base::width(void)const”(u imp??width@ios_base@std@@QBE_JXZ)在函数“class std::basic_ostream&u cdecl std::operator”中引用。好的,我找到了VS2012的解决方案:

  • 使用gtest md