c++ - LNK2019 unresolved external symbol...再次

标签 c++ linker lnk2019

所以我已经阅读了这里关于此错误的大部分帖子,但我仍然无法理解错误的原因。该项目由 2 个头文件以及 cpp 实现 + 主 cpp 文件组成。

DbApi.h 包含在 DbApi.cpp 中实现的函数的定义。 Linker.h 包含 Source.cpp 调用的函数的定义,而 Linker.cpp 包含它们的实现,它们是从 DbApi.h 调用函数

链接器.h

#ifndef LINKER_DEFINED
#define LINKER_DEFINED

#include "DbAPI.h"

enum Short_Result_Code{...};

Short_Result_Code createNewCategory(string name, list <int>  &Parents);

#endif

链接器.cpp

#include "Linker.h"

Short_Result_Code createNewCategory(string name, list <int> &Parents)
{
int RC = db::addCategory(name, Parents);
if(RC==0)
    return OK;
else
    return ERROR;
}

DbApi.h

#ifndef __dbAPI_H_INCLUDED
#define __dbAPI_H_INCLUDED


namespace db
{
int addCategory(string name, list <int> parents);
}
#endif

DbApi.cpp

#include "DbAPI.h"

namespace db
{
    int addCategory(string name, list <int> parents)
 {
         // implementation
 };
 }

主要.cpp

#include "Linker.h"

int main
{
    list<int> A;
A.push_back(1);
A.push_back(2);
string d = "ABC";
createNewCategory(d, A);
}
  • 错误:

    错误 LNK2019:未解析的外部符号“enum Short_Result_Code __cdecl createNewCategory(class std::basic_string,class std::allocator >,class std::list > &)” (?createNewCategory@@YA?AW4Short_Result_Code@@V?$ basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$list@HV?$allocator@H@std@@@3@@Z) 在函数_main 中引用F:\AeroFS\Work\ETI\PDFAccess\PDFAccess\Source.obj PDFAccess

我哪里弄错了?

最佳答案

看起来Linker.cpp的目标文件没有包含在项目中

关于c++ - LNK2019 unresolved external symbol...再次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19752259/

相关文章:

c - 如何将 C 代码编译成固件补丁并获取所有函数的位置?

c++ - 错误 LNK2019 C++ 难以忍受的简单程序

c++ - 如何将类更改为模板类

c++ - 如何通过指向派生类的基类指针调用基类方法

c++ - 线程安全的 TBB 可扩展分配器

c++ - 与 AWS SDK 的链接问题

c - 从同一编译单元覆盖 C 中的函数调用

c++ - 如何防止链接器优化掉启动代码?

c++ - 错误 LNK2019 : when trying to return a vector

c++ - 错误 LNK2019 : unresolved external symbol