Linux上编译sqlite3库出现undefined reference to `sqlite3_column_table_name‘

作者:朱金灿

来源:clever101的专栏
为什么大多数人学不会人工智能编程?>>>

  在Ubuntu 18上编译sqlite3库后在运行程序时出现undefined reference to `sqlite3_column_table_name'的错误。网上的说法是说缺少SQLITE_ENABLE_COLUMN_METADATA的宏定义,解决办法是在sqlite3.c增加一行代码:

cpp 复制代码
#define SQLITE_ENABLE_COLUMN_METADATA 1

  这个解决办法其实不好,更好的办法是在运行configure命令时增加SQLITE_ENABLE_COLUMN_METADATA的宏定义,具体命令如下

shell 复制代码
# CFLAGS参数是指定编译c文件的参数,其中-DSQLITE_ENABLE_COLUMN_METADATA为宏定义
# --prefix=/home/lx/ThirdPartyLib/sqlite202310241106为指定编译输出位置
./configure CFLAGS='-g -O2 -DSQLITE_ENABLE_COLUMN_METADATA' --prefix=/home/lx/ThirdPartyLib/sqlite202310241106
相关推荐
我星期八休息8 小时前
网络编程—NAT、代理服务与内网穿透
linux·服务器·网络·网络协议
RisunJan8 小时前
Linux命令-sysctl(运行时修改内核参数)
linux·网络·智能路由器
yunwei378 小时前
eBPF 教程:使用 fsession 追踪慢速 vfs_read 调用
linux·云原生
A_humble_scholar8 小时前
Linux 网络基础(三)下的 HTTP 核心详解:从请求响应到状态管
linux·网络·http
Albart5758 小时前
Docker Desktop最新版安装踩坑全记录(Windows_Mac_Linux)【2026 4.74.0 终版】
linux·windows·macos·docker·环境搭建·踩坑记录
举手9 小时前
Epoll模型
linux·c++·学习
Escalating_xu10 小时前
【Linux】基础 I/O 深度解析:FILE、文件描述符、open/read/write、重定向与缓冲区
java·linux·服务器
qetfw10 小时前
Debian 部署 Discuz! 论坛:Nginx、PHP 与 MariaDB 配置
linux·运维·nginx·debian·php·discuz
烛之武10 小时前
Linux 命令速查表
linux·运维·服务器
小马同学-10 小时前
Keepaloved+LVS(DR) +MariaDN主主
linux·运维·lvs