用msys1.0+mingw gcc4.7.1编译libodb(C++ ORM)

简介: 这里主要使用的是libodb 对sqlite数据库的支持. (1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了. start msys.

这里主要使用的是libodb 对sqlite数据库的支持.

(1)下载编译sqlite3,当初编译go-sqlite3的时候下载过sqlite3,就直接拿过来用了.

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的通用库.

start msys.bat
cd /d/wxwidgets/wxcode/libodb-2.3.0
./configure
make

 

顺利编译成功.

(4)编译libodb的sqlite支持

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, 提示信息如下:

config.lt: creating libtoolchecking for libsqlite3... noconfigure: error: libsqlite3 is not found; consider using CPPFLAGS/LDFLAGS to specify its location

 

直接在msys中执行下面的命令,不再传递--includedir与--libdir参数,这时对sqlite3的检查顺利通过.

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的路径

./configure --with-libodb=/d/wxwidgets/wxcode/libodb-2.3.0

 

之后顺利通过configure, 并且make 直接编译成功.

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
 
目录
相关文章
|
24天前
|
安全 编译器 C++
【C++20概念】编译时多态性的力量
【C++20概念】编译时多态性的力量
46 0
|
23天前
|
算法 编译器 程序员
深入理解C++编译模式:了解Debug和Release的区别
深入理解C++编译模式:了解Debug和Release的区别
59 2
|
24天前
|
算法 编译器 C++
【C++ 泛型编程 中级篇】C++ 编译时技术:探索 if constexpr 和 std::enable_if
【C++ 泛型编程 中级篇】C++ 编译时技术:探索 if constexpr 和 std::enable_if
36 0
|
24天前
|
安全 算法 编译器
【C++ 静态断言的技巧】掌握C++中static_assert的力量:深入探讨编译时检查
【C++ 静态断言的技巧】掌握C++中static_assert的力量:深入探讨编译时检查
41 1
|
24天前
|
存储 算法 编译器
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
28 0
|
27天前
|
编解码 算法 程序员
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(三)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
26 0
|
27天前
|
C++ 索引
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(二)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
26 0
|
27天前
|
存储 编译器 程序员
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南(一)
【C++ 泛型编程 高级篇】 C++ 14 模版元编程 遍历元组 编译期生成整数序列 std::index_sequence和std::make_index_sequence 使用指南
47 0
|
27天前
|
存储 算法 安全
【C++ 泛型编程 高级篇】 C++编译时函数调用技术深度解析
【C++ 泛型编程 高级篇】 C++编译时函数调用技术深度解析
36 1
|
30天前
|
存储 算法 编译器
【C++ 泛型编程 进阶篇】C++模板元编程深度解析:探索编译时计算的神奇之旅
【C++ 泛型编程 进阶篇】C++模板元编程深度解析:探索编译时计算的神奇之旅
85 0