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
相关推荐
不会敲代码的XW28 分钟前
LVS(Linux Virtual Server)详细笔记(理论篇)
linux·笔记·lvs
路飞雪吖~1 小时前
【Linux】线程创建&&等待&&终止&&分离
linux·开发语言
♛暮辞1 小时前
centos 安装java 环境
java·linux·centos
不脱发的程序猿1 小时前
嵌入式Linux:进程间通信机制
linux
喧星Aries2 小时前
进程的内存映像,只读区,可读写区,堆,共享库,栈详解
linux·操作系统·计算机组成原理
vortex53 小时前
dockerfile 最佳实践
linux·docker·云技术
神一样的老师3 小时前
Linux下编译海思WS63 SDK全攻略
linux·运维·服务器
2301_803554523 小时前
网络协议和基础通信原理
linux·c++
万能小锦鲤4 小时前
《大数据技术原理与应用》实验报告一 熟悉常用的Linux操作和Hadoop操作
大数据·linux·hadoop·ubuntu·vmware·实验报告·大数据技术原理与应用
骑驴看星星a4 小时前
WebAPIs基本认知,DOM基础介绍
java·linux·javascript·人工智能·redis·深度学习·机器学习