gtest 初试问题
lyle3 2009-05-11 07:38:53 我用的是mingw windows xp.
网上看到一个GTEST_Mingw_SPC.7z,说是gtest的mingw版,下下来,
点击给的gcc.bat,生成了libgtest.a文件,
在mingw里
project->setting
加入了头文件
compile->additional include directiories:C:\MinGWStudio\GTEST_Mingw_SPC\include
加入了生成的文件
link->additional library path:C:\MinGWStudio\GTEST_Mingw_SPC\libgtest.a
编译时没错了,但是link时出现了一堆:
--------------------Configuration: app - Debug--------------------
Linking...
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x1b6): In function `ZN32FooTest_HandleNoneZeroInput_Test8TestBodyEv':
D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:18: undefined reference to `testing::internal::AssertHelper::AssertHelper(testing::TestPartResultType, char const*, int, char const*)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x1d5):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:18: undefined reference to `testing::internal::AssertHelper::operator=(testing::Message const&) const'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x366):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:19: undefined reference to `testing::internal::AssertHelper::AssertHelper(testing::TestPartResultType, char const*, int, char const*)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x388):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:19: undefined reference to `testing::internal::AssertHelper::operator=(testing::Message const&) const'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x4f0): In function `main':
D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:23: undefined reference to `testing::InitGoogleTest(int*, char**)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x4f5):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:24: undefined reference to `testing::UnitTest::GetInstance()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x4fd):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:24: undefined reference to `testing::UnitTest::Run()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x5c5): In function `Z41__static_initialization_and_destruction_0ii':
D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:16: undefined reference to `testing::internal::GetTestTypeId()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text+0x604):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:16: undefined reference to `testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.rdata$_ZTV32FooTest_HandleNoneZeroInput_Test+0x10): In function `Z3Fooii':
D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:6: undefined reference to `testing::Test::SetUp()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.rdata$_ZTV32FooTest_HandleNoneZeroInput_Test+0x14):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:7: undefined reference to `testing::Test::TearDown()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZN32FooTest_HandleNoneZeroInput_TestD1Ev+0x16):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:7: undefined reference to `testing::Test::~Test()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZN32FooTest_HandleNoneZeroInput_TestD0Ev+0x16):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:7: undefined reference to `testing::Test::~Test()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZN7testing8internal11CmpHelperEQIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_+0x52):D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:11: undefined reference to `testing::AssertionSuccess()'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZN7testing8internal11CmpHelperEQIiiEENS_15AssertionResultEPKcS4_RKT_RKT0_+0xdc): In function `ZN32FooTest_HandleNoneZeroInput_Test8TestBodyEv':
D:\Program Files\MinGWStudio\Samples\MessageBox\app\a.cpp:17: undefined reference to `testing::internal::EqFailure(char const*, char const*, testing::internal::String const&, testing::internal::String const&, bool)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZNK7testing7Message9GetStringEv+0x17): In function `Z3Fooii':
`testing::internal::StrStreamToString(std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)'
D:\Program Files\MinGWStudio\Samples\MessageBox\app\Debug\a.o(.text$_ZN32FooTest_HandleNoneZeroInput_TestC1Ev+0xd): In function `ZN7testing8internal15TestFactoryBaseD0Ev':
C:\MinGWStudio\GTEST_Mingw_SPC\include\gtest\internal\gtest-internal.h: undefined reference to `testing::Test::Test()'
app.exe - 16 error(s), 0 warning(s)
是连接没成功吗?不懂...
等....