c++ - C++ LNK2019 | 未解决的符号 | 视觉工作室 2013 | 虚拟功能 | 测试
问题描述
此错误已多次报告,但我找不到我要查找的内容。以下是构建错误
错误 LNK2019:未解析的外部符号“public: enum CLASS_ID __thiscall smp::sampleAbs::getClassID(void)” (?getClassID@sampleAbs@smp@@QAE?AW4CLASS_ID@@XZ) 在函数“public: virtual void __thiscall mockSmp: :run(void)" (?run@mockSmp@@UAEXXZ)
错误 LNK2001:未解析的外部符号“公共:枚举 CLASS_ID __thiscall smp::sampleAbs::getClassID(void)”(?getClassID@sampleAbs@smp@@QAE?AW4CLASS_ID@@XZ)
错误 LNK2019:函数“public: __thiscall mockSmp::mockSmp( void)" (??0mockSmp@@QAE@XZ)
这是我的代码。
样本Abs.h
typedef enum
{
//sample enum values
}CLASS_ID;
namespace smp {
class sampleAbs
{
public:
sampleAbs(CLASS_ID classID);
~sampleAbs(void) {}
CLASS_ID getClassID(void);
virtual void run() = 0;
private:
CLASS_ID m_classId;
};
}
样本Abs.cpp
#include "sampleAbs.h"
namespace smp {
sampleAbs :: sampleAbs(CLASS_ID classID)
{
m_classID = classID;
}
CLASS_ID
sampleAbs:: getClassID(void)
{
return m_classID;
}
}
mock_sampleAbs.h
#include "sampleAbs.h"
using namespace smp
class mockSmp : public sampleAbs
{
public:
CLASS_ID m_classID = 1;
mockSmp() : sampleAbs(m_classID){}
~mockSmp();
void run()
{
m_classID = getClassID();
}
};
测试.cpp
#include "mock_sampleAbs.h"
#include "gtest/gtest.h"
using namespace cmd;
TEST(test_getCommandID00, FunctionCoverage)
{
mockSmp mObj;
mObj.run();
EXPECT_EQ(1, mObj.m_commandID);
}
我不确定我做错了什么,可能是一些愚蠢的事情。将不胜感激任何帮助。谢谢!
解决方案
推荐阅读
- python - 熊猫滚动计算 - 添加百分比变化
- java - 基于输入在java中动态创建对象类
- java - Spring Boot 自动配置和属性
- javascript - 如何从具有匿名函数的 div 中删除事件侦听器
- python-3.x - 如何在python中多拆分列
- spring - 我无法在 Jpa 单元测试中从 H2 获取我的数据
- node.js - `Extensions` 字段未显示在 apollo graphql 响应数据中
- python - 尽管训练是 100%,但无法提高验证准确度以及如何将从视频中提取的图像提供给深度学习模型
- datepicker - 在 datePicker 中禁用手动输入日期
- javascript - 我应该避免使用 px 使 react-app 移动友好吗?