Visual Studio C++:获取未解析的令牌和未解析的链接.我该怎么办

Visual Studio C++ : Getting Unresolved tokens and unresolved link. What should I do?

本文关键字:链接 我该怎么办 令牌 Studio Visual C++ 获取      更新时间:2023-10-16

我想使用SQLite,但我得到未解决的*错误。以下是我所做工作的摘要:

以下是三个目录:

源文件

-->include
-->src
-->sqlite3

我已将上述三个目录添加到:

Project Properties->C/C++->Additional Include Directories

然后在我的主.cpp文件中,我添加了以下行:

#include<SQLite/SQliteCpp.h> // this inclusion is correct

但是我得到的错误如下:

error LNK2028: unresolved token (0A0003DF) "public: virtual __thiscall SQLite::Column::~Column(void)" (??1Column@SQLite@@$$FUAE@XZ) referenced in function "public: virtual void * __thiscall SQLite::Column::`vector deleting destructor'(unsigned int)" (??_EColumn@SQLite@@$$FUAEPAXI@Z)
error LNK2028: unresolved token (0A0003EE) "public: __thiscall SQLite::Statement::Ptr::Ptr(class SQLite::Statement::Ptr const &)" (??0Ptr@Statement@SQLite@@$$FQAE@ABV012@@Z) referenced in function "public: __thiscall SQLite::Column::Column(class SQLite::Column const &)" (??0Column@SQLite@@$$FQAE@ABV01@@Z)
error LNK2028: unresolved token (0A0003EF) "public: __thiscall SQLite::Statement::Ptr::~Ptr(void)" (??1Ptr@Statement@SQLite@@$$FQAE@XZ) referenced in function "public: __thiscall SQLite::Column::Column(class SQLite::Column const &)" (??0Column@SQLite@@$$FQAE@ABV01@@Z)
error LNK2019: unresolved external symbol "public: __thiscall SQLite::Statement::Ptr::Ptr(class SQLite::Statement::Ptr const &)" (??0Ptr@Statement@SQLite@@$$FQAE@ABV012@@Z) referenced in function "public: __thiscall SQLite::Column::Column(class SQLite::Column const &)" (??0Column@SQLite@@$$FQAE@ABV01@@Z)
error LNK2019: unresolved external symbol "public: __thiscall SQLite::Statement::Ptr::~Ptr(void)" (??1Ptr@Statement@SQLite@@$$FQAE@XZ) referenced in function "public: __thiscall SQLite::Column::Column(class SQLite::Column const &)" (??0Column@SQLite@@$$FQAE@ABV01@@Z)

假设你使用的是标准的sqlite源代码发行版,应该有一个.c或.cpp文件在你的 sqlite3 目录中。 该文件需要包含在项目中,并与源一起编译。 另一种可能性是您可能已经收到了带有 .lib 文件的 sqlite3 标头 - 如果是这种情况,那么您需要将库与您的项目一起链接。

您收到这些错误的原因是您的头文件 (sqlite3.h) 引用了没有定义的函数/符号/等。 因此,这就是为什么您需要将 .c/.cpp 文件与项目一起包含(以便提供定义),或者链接到基本上执行相同操作的预编译 .lib。