gpt4 book ai didi

c++ - gtest,对 'testing::Test::~Test()' 的 undefined reference ,testing::Test::Test()

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:58 31 4
gpt4 key购买 nike

我使用 apt-get install libgtest-dev 安装了 gtest

我正在尝试检查它是否有效。

所以我在 eclipse 中编写了简单的测试代码。

但是有错误,

undefined reference to 'testing::Test::~Test()'
undefined reference to 'testing::Test::Test()'

相反,如果我将 ATest 类的继承更改为 protected ,错误就会消失,但是

出现其他错误

testing::Test is inaccessible base of '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();
}

最佳答案

我知道这听起来很明显,但我的通灵调试技巧告诉我你在链接最终二进制文件时忘记添加 -lgtest 你的目标文件名。

关于c++ - gtest,对 'testing::Test::~Test()' 的 undefined reference ,testing::Test::Test(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145649/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com