You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite3编译出现LNK2019/LNK1120未解析外部符号问题求助

解决SQLite LNK2019链接错误及Cookie解密建议

一、解决SQLite LNK2019未定义符号错误

LNK2019错误是因为链接器找不到sqlite3_close等函数的实现代码,你手里有SQLite的源码文件,可通过以下两种方式解决:

  • 直接将sqlite3.c加入项目编译

    1. 打开你的项目(以Visual Studio为例),右键点击项目名称,选择「添加」→「现有项」
    2. 选中本地的sqlite3.c文件,添加到项目中
    3. 重新编译项目,此时sqlite3.c会被编译成对应的.obj文件,链接器就能找到所有SQLite函数的实现
  • 自行编译生成sqlite3.lib静态库

    1. 打开Visual Studio的「开发者命令提示符」,切换到sqlite3.c所在的目录
    2. 执行命令编译生成目标文件:cl /c sqlite3.c
    3. 执行命令生成静态库:lib sqlite3.obj /OUT:sqlite3.lib
    4. 在你的项目中,添加这个生成的sqlite3.lib作为依赖项,并确保sqlite3.h的路径已添加到项目的「附加包含目录」中

二、Cookie解密相关建议

针对Windows平台浏览器Cookie的解密需求,给你几个实用建议:

  • 处理数据库锁定问题
    浏览器运行时会锁定Cookie的SQLite数据库文件,直接读取会失败。建议先将Cookie数据库文件(比如Chrome的Cookies文件)复制到临时目录,再操作复制后的文件。

  • DPAPI解密注意事项
    主流浏览器(Chrome、Edge等)用Windows DPAPI加密Cookie值,解密需调用CryptUnprotectData函数:

    • 确保程序运行的用户与浏览器登录用户一致,DPAPI是基于用户上下文加密的
    • 加密的Cookie值通常以v10开头,解密前需先去掉这个标识头,再传入解密函数
  • 解析SQLite表结构
    不同浏览器的Cookie表结构略有差异,以Chrome为例,cookies表的核心字段包括:

    • name: Cookie名称
    • value: 加密或明文的Cookie值
    • host_key: Cookie所属域名
    • path: Cookie生效路径
    • expires_utc: Cookie过期时间(UTC时间戳)

内容的提问来源于stack exchange,提问作者ObemeVortep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 21:34:59