我安装使用apt-get install libgtest-dev
GTEST,未定义的引用“测试::测试::〜测试()”,测试::测试::测试()
,我试图以检查是否是工作GTEST或不。
所以我在eclipse中测试简单的代码。
但也有误差,
未定义参考 '测试::测试::〜测试()'
未定义参考 为 '测试::测试::测试()'
反之如果我改变在ATEST类继承的保护错误消失,但
其他错误发生
测试::测试是无法进入基地 'ATest_AAA_Test'
有什么不好?
#include <iostream>
#include <gtest/gtest.h>
class A{
public:
int a;
A(int a){this->a = a;}
A(){}
~A(){}
int getA(){return a;}
void setA(int a){this->a = a;}
};
class ATest : public ::testing::Test{
public:
virtual void SetUp(){
a1 = A(1);
a2 = A(2);
a3 = A(3);
}
virtual void TearDwon(){}
A a1;
A a2;
A a3;
};
TEST_F(ATest, AAA){
EXPECT_EQ(1, a1.getA());
EXPECT_EQ(2, a2.getA());
EXPECT_EQ(3, a3.getA());
}
int main(int argc, char **argv){
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
谢谢你,你说的没错,但是在构建gtest的src代码(我跟着这个[link](http://www.thebigblob.com/tag/libgtest-dev/))之后,其他错误仍然发生。 “make:*** [test] error 1”(test是项目名称),当然我已经添加了-lgtest标志。 – SangminKim
抱歉,它工作,因为我添加-lpthread,最初-pthread是gtest所需要的? – SangminKim
当您构建gtest时,您可以在不支持pthread的情况下对其进行配置: './configure --with-pthreads = no'。或者,您可以在制作时通过 预处理器标志'-DGTEST_HAS_PTHREAD = 0': 'CPPFLAGS = -DGTEST_HAS_PTHREAD = 0 make'。那么如果你的单元测试不需要它,你将不需要链接 'pthread'库。 –