这里主要使用的是libodb 对sqlite数据库的支持.
(1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了.
1 2 3 4 5 6 7 8 | start msys.bat gcc -c sqlite3.c -I. /inc/sqlite3/ ar crvs libsqlite3.a sqlite3.o cp libsqlite3.a /d/private/library/lib cp sqlite3.h /d/private/library/inc/sqlite3 cp sqlite3ext.h /d/private/library/inc/sqlite3 rm libsqlite3.a rm sqlite3.o |
(2)下载libodb到/d/wxwidgets/wxcode/
libodb-2.3.0.zip libodb的库
libodb-sqlite-2.3.0.zip libodb对Sqlite数据库的支持
(3)编译libodb的通用库.
1 2 3 4 | start msys.bat cd /d/wxwidgets/wxcode/libodb-2 .3.0 . /configure make |
顺利编译成功.
(4)编译libodb的sqlite支持
1 2 3 | start msys.bat cd /d/wxwidgets/wxcode/libodb-sqlite-2 .3.0 . /configure |
提示libsqlite3没有找到,因为上面对sqlite3的编译后,对头文件与静态库的存放,没有按msys的标准(或POSIX标准或类unix标准)存放.执行./configure --includedir=/d/private/library/inc/sqlite3或./configure --includedir=/d/private/library/inc/sqlite3 --libdir=/d/private/library/lib 还是提示找不到sqlite3, 提示信息如下:
1 | config.lt: creating libtoolchecking for libsqlite3... noconfigure: error: libsqlite3 is not found; consider using CPPFLAGS /LDFLAGS to specify its location |
直接在msys中执行下面的命令,不再传递--includedir与--libdir参数,这时对sqlite3的检查顺利通过.
1 2 3 | export CXXFLAGS=-I /d/private/library/inc/sqlite3 export LDFLAGS=-L /d/private/library/lib . /configure |
提示sqlite3的一个特性没有开启,可能是在编译的时候开启这个特性的控制宏没有定义.或当前代码的版本不支持libodb需要的特性,暂时不理会了.
checking for libsqlite3... yes
configure: WARNING: libsqlite3 is built without sqlite3_unlock_notify support; multi-threaded support will be limited
checking for libodb... no
configure: error: libodb is not found; consider using --with-libodb=DIR
需要指定libodb的路径
1 | . /configure --with-libodb= /d/wxwidgets/wxcode/libodb-2 .3.0 |
之后顺利通过configure, 并且make 直接编译成功.
1 | checking for libsqlite3... yesconfigure: WARNING: libsqlite3 is built without sqlite3_unlock_notify support; multi-threaded support will be limitedchecking for libodb... yeschecking whether to use rpath... yes |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!