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
相关推荐
练小杰1 分钟前
Linux系统 C/C++编程基础——基于Qt的图形用户界面编程
linux·c语言·c++·经验分享·qt·学习·编辑器
mcupro2 小时前
提供一种刷新X410内部EMMC存储器的方法
linux·运维·服务器
不知 不知2 小时前
最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
linux·运维·服务器·centos
人才程序员2 小时前
【C++拓展】vs2022使用SQlite3
c语言·开发语言·数据库·c++·qt·ui·sqlite
BUG 4042 小时前
Linux--运维
linux·运维·服务器
千航@abc2 小时前
vim在末行模式下的删除功能
linux·编辑器·vim
永远是我的最爱3 小时前
数据库SQLite和SCADA DIAView应用教程
数据库·sqlite
jcrose25804 小时前
Ubuntu二进制部署K8S 1.29.2
linux·ubuntu·kubernetes
爱辉弟啦4 小时前
Windows FileZila Server共享电脑文件夹 映射21端口外网连接
linux·windows·mac·共享电脑文件夹
progrmmmm4 小时前
k8s使用nfs持久卷
linux·服务器·kubernetes·k8s·运维开发