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

如何构建包含sqlite_scanner静态扩展的DuckDB合并包?

构建带SQLite Scanner静态扩展的DuckDB合并包解决办法

1. 先把扩展目录摆对

  • 克隆DuckDB主仓库:git clone https://github.com/duckdb/duckdb.git
  • 进到主仓库的extensions目录:cd duckdb/extensions
  • 克隆sqlite_scanner扩展,必须把仓库重命名为sqlite_scanner:git clone https://github.com/duckdb/duckdb-sqlite-scanner.git sqlite_scanner
    (DuckDB的构建系统是按目录名识别扩展的,名字错了就找不到)

2. 清理可能的缓存问题(可选但能避坑)

  • 进到sqlite_scanner目录:cd sqlite_scanner
  • 执行make clean清掉旧缓存,然后回到DuckDB根目录:cd ../..

3. 用合并脚本正确生成带扩展的包

别直接用make命令,得给合并脚本指定要包含的扩展:

python3 scripts/amalgamation.py --extensions "core_functions;parquet;json;sqlite_scanner"

这个命令会自动处理扩展的头文件依赖和初始化逻辑,生成的duckdb.cpp里就能找到sqlite_scanner_init()了。

踩坑排查

  • 要是还提示找不到sqlite_scanner_extension.hpp:
    • 检查sqlite_scanner的目录名是不是完全正确,别拼错字
    • 回到DuckDB根目录执行make clean,再重新跑合并脚本
    • 确保sqlite_scanner是最新版,进到扩展目录拉一下代码:git pull
  • 要是合并包里没初始化函数:
    • 必须通过--extensions参数告诉脚本要加哪些扩展,自己改脚本很容易漏了依赖逻辑,白忙活

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:40:59