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
相关推荐
GineLee34 分钟前
吉林大学操作系统上机实验五(磁盘引臂调度算法(scan算法)实现)
linux
余辉zmh39 分钟前
【Linux网络篇】:初步理解应用层协议以及何为序列化和反序列化
linux·网络·php
christine-rr41 分钟前
【25软考网工】第九章(2)网络管理命令
linux·运维·网络·网络工程师·软考
s_little_monster43 分钟前
【Linux】网络--传输层--深入理解TCP协议
linux·运维·经验分享·笔记·网络协议·学习·tcp/ip
2401_858286111 小时前
OS8.【Linux】基本权限(上)
linux·运维·服务器
孙克旭_1 小时前
day023-面试题总结
linux·运维·面试题
专注VB编程开发20年1 小时前
QuickBASIC QB64 支持 64 位系统和跨平台Linux/MAC OS
linux·运维·服务器·qb·quickbasic
aigoushan2 小时前
零基础开始的网工之路第十六天------Linux安全管理
linux·服务器·网络
望获linux2 小时前
【Linux 基础知识系列】第二篇-Linux 发行版概述
linux·数据库·postgresql·操作系统·开源软件·rtos·嵌入式软件
孙克旭_2 小时前
day021-定时任务
linux·运维