c++ - SQLite Visual Studio 链接器错误

标签 c++ windows sqlite mobile linker-errors

我有 2 个 C++ 项目,一个用于 Windows XP/Vista/7 (WinXP),另一个用于 Windows Mobile 6 (WinMo)。这两个项目使用相同的源代码。

我正在尝试链接到 sqlite3.lib。我使用 VS 自带的 lib 工具和 sqlite.def 文件生成了这个文件。我使用 Add -> Existing Item... 将此文件添加到两个项目的 Resource 文件夹中。我还在其他依赖项中添加了它(配置属性 > 链接器 > 输入)。我还将 sqlite3.dll 文件放在了工作目录和可执行目录中。

我写了一些代码,使用 sqlite3 的类有#include "sqlite3.h"。

现在,在 WinXP 项目中,我可以使用 sqlite3 API 编译、链接和执行数据库操作。在 WinMo 项目中,我可以编译,但我需要的 sqlite3 库中的所有函数都出现链接器错误:

1>Linking...
1>SQLiteDatabase.obj : error LNK2019: unresolved external symbol sqlite3_shutdown      referenced in function "public: virtual __cdecl...
....

我做错了什么?

最佳答案

您需要 .lib 文件,而不是 .obj 文件。

您正在使用 .obj 文件,您从中获取了该文件

Visual Studio 2010\Projects\projectname\projectname\Release

需要从中获取同名的.lib文件

Visual Studio 2010\Projects\projectname\Release

这有意义吗?返回两个文件夹,然后进入 Release 文件夹。在该发布文件夹中将有 .lib 文件。

关于c++ - SQLite Visual Studio 链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837784/

相关文章:

c# - EMGU CV 图像人脸识别

c# - 无法关闭/处置 SQLite 数据库 C# 上的文件锁

sql - 如何在 SQL 中表示和插入有序列表?

c++ - 为什么我的质量计算器不能正确处理空格?

c++ - C++ While 语句和字符串处理混淆?

windows - 无法绑定(bind)到多播地址 (Windows)

C: realloc 适用于 Linux,但不适用于 Windows

javascript - 使用 Node.js 读取 sqlite3 表

c++ - 模板代码增加二进制文件的大小

windows - 如何在 git bash 中注册新安装的驱动器?