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)

是连接没成功吗?不懂...
等....
...全文
2206 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyang2009sheng 2011-08-28
  • 打赏
  • 举报
回复
gtest的框架是开源的,google的官网上就有。
连接错误一般来说,是你的工程属性没有设置正确吧,右键工程属性,在链接器的输入一栏中,填上附加库目录。
看你需要什么样的.lib文件了吧,把路径写进去。
chenxianqiao 2010-07-19
  • 打赏
  • 举报
回复
哪里有下到比较标准的gtest框架吗?
谢谢。
wljince007 2010-04-07
  • 打赏
  • 举报
回复
关注这个问题
yulin001122 2009-06-03
  • 打赏
  • 举报
回复
-lgtest
lzh9955 2009-05-29
  • 打赏
  • 举报
回复
顶!
aaaa3105563 2009-05-29
  • 打赏
  • 举报
回复
帮顶··
mpvshp 2009-05-29
  • 打赏
  • 举报
回复
确实有问题的,你自己那包里的文件,重新建个工程,编译过程中会有一个错误,处理掉,就可以生成新的lib.a了,这样就可以正常开始测试了。
xiejhzwrgcky 2009-05-19
  • 打赏
  • 举报
回复
amossavez 2009-05-19
  • 打赏
  • 举报
回复
不懂!!帮顶!!
lyle3 2009-05-11
  • 打赏
  • 举报
回复
运行gcc.bat时,输出这个
cc1plus.exe: error: unrecognized option `-strip'
cc1plus.exe: error: output filename specified twice
Could Not Find C:\MINGWS~1\GTEST_~1\*.o
什么意思?
liliangbao 2009-05-11
  • 打赏
  • 举报
回复
没用过,帮顶!
appleshao 2009-05-11
  • 打赏
  • 举报
回复
不懂,帮你顶顶
lyle3 2009-05-11
  • 打赏
  • 举报
回复
其中gcc.bat的内容是:
g++ -DGTEST_OS_WINDOWS -D_LIB -o2 -I .\include -I .\ -c src\gtest-all.cc -o gtest.o
ar rs libgtest.a gtest.o
ranlib libgtest.a
del *.o
lyd_253261362 2009-05-11
  • 打赏
  • 举报
回复
顶一下。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧