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

C语言使用SQLite3库遇undefined reference错误,求分步解决方法

解决C语言中SQLite3编译时"undefined reference to 'sqlite3_open'"错误的分步指南

错误原因

这个错误是链接阶段未找到sqlite3函数的实现代码导致的——你只添加了头文件(sqlite3.h,仅包含函数声明),但编译时没有把sqlite3的实现代码(sqlite3.c或预编译库)纳入编译流程。


第一步:获取SQLite3必要文件

直接下载适合新手的源码文件,跳过复杂的库安装流程:

  • 下载sqlite3.h(头文件)和sqlite3.c(实现源码),将这两个文件放到你的C项目根目录下。

针对VS Code(MinGW编译器)的配置

方式1:终端手动编译

在项目目录的终端中执行以下命令,将你的主代码和sqlite3源码一起编译:

gcc main.c sqlite3.c -o sqlite_app.exe
  • main.c替换成你的主程序文件名
  • sqlite_app.exe是生成的可执行文件名,可自定义

方式2:配置tasks.json自动编译

  1. 打开VS Code的命令面板(Ctrl+Shift+P),选择「Tasks: Configure Task」
  2. 在生成的tasks.json中,修改args字段,添加sqlite3.c:
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "sqlite3.c",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "编译器: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

之后点击「运行任务」即可自动编译整个项目。


针对DevC++的配置

  1. 新建或打开你的C项目,点击菜单栏「项目」→「添加到项目」,选择sqlite3.c和sqlite3.h添加到项目中
  2. 直接点击工具栏的「编译运行」按钮即可——DevC++会自动将项目中所有.c文件一起编译链接,无需额外配置
  3. 若仍报错,检查编译选项:
    • 点击「工具」→「编译选项」,确保「允许编译多个文件」选项处于勾选状态

测试示例代码

用以下简单代码验证配置是否成功:

#include <stdio.h>
#include "sqlite3.h"

int main() {
    sqlite3 *db;
    int rc = sqlite3_open("test.db", &db);

    if (rc != SQLITE_OK) {
        printf("数据库打开失败: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        return 1;
    }

    printf("数据库打开成功\n");
    sqlite3_close(db);
    return 0;
}

内容的提问来源于stack exchange,提问作者Caner Furkan Karali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:00:21