wxsqlite3 编译 linux,sqlite交叉编译

sqlite数据库的ARM-Linux移置进行过程

准备工作:1.取得一个arm-linux-gcc的编译器。2. sqlite的源码sqlite-3.8.8.tar.gz(本文以)

好了,我们可以开始了。这里设arm-linux-gcc在/arm2410s/gui/tools/usr/local/arm/3.4.1/bin /目录下

解压sqlite-3.8.8.tar.gz到/usr/local/arm-linux/sqlite

# tar zxvfsqlite-3.8.8.tar.gz -C /usr/local/arm-linux/sqlite

# cd /usr/local/arm-linux/sqlite /sqlite-3.3.8

将目录下的configure文件的19261行{ (exit 1); exit 1; }; }改为{ (echo 1); echo 1; }; }

19290行{ (exit 1); exit 1; }; }改为{ (echo 1); echo 1; }; }

20402行{ (exit 1); exit 1; }; }改为{ (echo 1); echo 1; }; }

# mkdir /usr/local/arm-linux/sqlite-arm-linux

# cd /usr/local/arm-linux/sqlite-arm-linux

设置交叉编译环境# export PATH=/arm2410s/gui/tools/usr/local/arm/3.4.1/bin /:$PATH

配置:# ./configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux注意:这里不用写成了"../sqlite/configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux/"这最后一个斜杠"/"不要带上了。

如果一切顺利的话,会在/usr/local/arm-linux/sqlite-arm-linux目录下生成一些相关文件L我的怎么生成在了/usr/local/arm-linux/sqlite /sqlite-3.3config.log config.status libtool Makefile sqlite3.pc改/usr/local/arm-linux/sqlite-arm-linux/Makefile文件的BCC = arm-linux-gcc -g -O2为BCC = gcc -g -O2(23行)编译安装:

# make# make install(这里提示很多错误,一看看是***tcl.c

文件里的错。想起偶然看到的某贴子里说的系统里同有说是这个都是tcl相关的错误,可以先安装ActiveTcl以解决.假如你不需要tcl支持,那么这个错误可以这样避免在配置时命令如下:

./configure --host=arm-linux--disable-tcl--prefix=/usr/local/arm-linux/sqlite-arm-linux)

/usr/bin/install -c -d /usr/local/arm-linux/sqlite-arm-linux/lib

./libtool --mode=install /usr/bin/install -c libsqlite3.la /usr/local/arm-linux/sqlite-arm-linux/lib

/usr/bin/install -c .libs/libsqlite3.so.0.8.6 /usr/local/arm-linux/sqlite-arm-linux/lib/libsqlite3.so.0.8.6

(cd /usr/local/arm-linux/sqlite-arm-linux/lib && rm -f libsqlite3.so.0 && ln -s libsqlite3.so.0.8.6 libsqlite3.so.0)

``````````````````````

````````````````````````

`````````````````````````

/usr/bin/install -c -d /usr/local/arm-linux/sqlite-arm-linux/lib/pkgconfig;

/usr/bin/install -c -m 0644 sqlite3.pc /usr/local/arm-linux/sqlite-arm-linux/lib/pkgconfig;

注明: "# make install"这一步将会在/usr/local/arm-linux/sqlite-arm-linux/lib生成库文件2 sqlite3嵌入式数据库的ARM-Linux移置详解

# cd lib

# file libsqlite3.so.0.8.6

libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped此时生成的sqlite文件是还未strip过的,你可以使用命令“file sqlite”查看文件信息。用strip处理过后,将去掉其中的调试信息,执行文件大小也将小很多。命令如下:# arm-linux-strip libsqlite3.so.0.8.6

另外可以生成帮助文档,以便以后查询。# make doc

好了,这样我们已经编译出了

1.4在ARM板上运行sqlite

将/usr/local/arm-linux/sqlite-arm-linux/bin/目录下的sqlite3文件下载到你的arm板上

Mount –t nfs 192.168.0.121:/home/ban/share /ban

Cp sqlite3 /var方法很多,你需要根据自己的情况来选择。如ftp,nfs,串口等。

好,开始运行chmod +wx sqlite

[root@51Board var]# ./sqlite3 zieckey.db

./sqlite3: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file

or directory

这里是因为刚刚编译时编译的是动态连接库形式的,所有我们还的将库文件下载到ARM板上。将/usr/local/arm-linux/sqlite-arm-linux/lib目录下所有文件下到ARM板上。再次运行,[root@51Board var]# ./sqlite3 zieckey.db

./sqlite3: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file

or directory

还是出错,哦,我们没有设置环境变量,假设我们下在库文件在ARM板上的/usr/qpe/lib/目录下,这里设置环境就像下面:

[root@51Board var]# export LD_LIBRARY_PATH=/usr/qpe/lib:$LD_LIBRARY_PATH

好了这样就可以运行了:[root@51Board var]# ./sqlite3 zieckey.db

SQLite version 3.0.8

Enter ".help" for instructions

sqlite>看见sqlite>提示符号没有?成功了。哈哈!!打个“.help”来看看命令先:-)

sqlite>.help好了。现在sqlite已经在arm-linux下跑了起来。如何,感觉很high吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值