WindowsAPI 和 SQLite3 - 错误 LNK1120 无法解析的外部元素:8

问题描述 投票:0回答:1

我正在制作一个程序,使用 windows.h 和 sqlite3.h 依赖项将 cookie 文件解密为可读形式(如果您就此提供建议,我也将非常感激)。我通过指定本地路径来连接 sqlite3.h。编译时,即使用 sqlite3.h 函数时,我收到 8 个 LNK2019 错误,而函数本身已定义(当我删除 include sqlite3.h 时,我收到有关未定义函数的 40 个其他错误)。我想指出的是,该错误是由 WindowsAPI.obj 文件引起的。是什么导致了我的错误 LNK2019,也许包含 sqlite3.h 不正确,但是我该如何修复它呢?

#include <iostream>
#include <C:/Program Files/Microsoft Visual Studio/2022/libraries/sqlite-amalgamation-3460000/sqlite3.h> 
#include <fstream>
#include <vector>
#include <string>
#include <windows.h>
#include <wincrypt.h>
#include <atlbase.h>
#include <sstream> 
Severity Code Description Project File Line Suppression State Details
Error LNK1120 8 unresolved external elements WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\x64\Debug\WindowsAPI.exe 1
Error LNK2019 unresolved external symbol sqlite3_close referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_column_blob referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_column_bytes referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_column_text referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_finalize referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_open referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_prepare_v2 referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1
Error LNK2019 unresolved external symbol sqlite3_step referenced in function main WindowsAPI C:\Users\ivans\source\repos\WindowsAPI\WindowsAPI\WindowsAPI.obj 1

我和AI交谈,他们告诉我添加项目依赖项的路径,但我只能在那里添加.lib文件,而sqlite3则没有(只有sqlite3.h,sqlite3.c,sqlite3ext.h, shell.c).

c++ windows sqlite
1个回答
0
投票

您需要将 sqlite3.c 添加到您的项目中。在添加任何内容之前,您还应该将所有 sqlite 源文件和头文件复制到项目目录中。

Sqlite 有点不寻常,因为它不是作为库分发的,而是作为源文件分发的,您需要将其直接合并到项目中。

© www.soinside.com 2019 - 2024. All rights reserved.