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
相关推荐
冰封之寂6 小时前
Docker 资源管理终极指南:CPU、内存与 IO 的精细化控制
linux·运维·服务器·docker·云计算
xiaoye-duck7 小时前
《Linux系统编程》Linux 系统多线程(五):<线程同步与互斥>线程互斥(上):从条件变量到生产者消费者模型详解
linux·线程
一叶龙洲8 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
酷可达拉斯9 小时前
Linux操作系统-shell编程之Grep与正则表达式
linux·运维·服务器·正则表达式·centos
寒水馨9 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
我星期八休息12 小时前
网络编程—UDP与TCP
linux·运维·网络·数据库·网络协议·tcp/ip·udp
ziguo112212 小时前
C/C++ 错误处理全解:从 errno 到 C++ 异常
linux·c语言·c++·windows·visual studio
三84413 小时前
使用Samba/NFS实现文件共享/自动挂载共享目录/autofs自动挂载服务
linux·服务器·网络
高铭杰14 小时前
万物皆可KV(2)SurrealDB 存储布局分析
linux·服务器
无小道15 小时前
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计
linux·缓存·文件缓冲区