移植sqlite到OK6410开发板上

1 下载 SQLite3源码

SQLite3 地址:http://www.sqlite.org/download.html.我用的版本是sqlite-autoconf-3071300.tar.gz

2 解压源码包

我的文件是放在自己创建的forlinx/root下,再进行解压。

tar zxvf sqlite-autoconf-3071300.tar.gz

3、配置编译选项

前提:你的系统下已安装4.2.2的编译器,我试过4.3.2的去编译,会有问题
cd /forlinx/root/sqlite-autoconf-3071300 //打开解压后的文件夹
 ./configure --prefix=/forlinx/root/sqlite3  --host=arm-linux  CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc

配置参数--prefix=/forlinx/root/sqlite3指明编译后文件的安装路径

配置参数--host=arm-linux指明运行的系统平台

配置参数CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc指明交叉编译器的路径

其中,

    - --host: 指定交叉编译工具,一般为arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具体要和目标板用的交叉编译工具对应。
    - --prefix: 指定安装目录,编译后的文件会全部放在安装目录中。注意:必须是绝对路径!

4 编译

make
make install
运行sqlite3,看Ubuntu下能否正常运行,以下为正常运行情况,Ubuntu下能正常运行再去做移植,否则移植可能会出问题。
注:我在Ubuntu下安装完后就除了问题,问题如下:
error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory //这个问题可能是我一开始没装好才导致的
这个问题折磨了我两个晚上,最后终于在网上找到解决方法
运行:ldconfig  // 重建/etc/ld.so.cache
再次运行:sqlite3,结果成功了,自己都被感动的要哭了
接下来就是和移植有关系的部分了

5 去除调试信息

 
  
cd /sqlite3 //编译后产生的文件
bin目录下是可执行文件sqlite3

include目录下是头文件sqlite3.h sqlite3ext.h

lib目录下是编译生成的库文件,包括静态库和共享库。

share目录下是帮助文档man

 /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-strip sqlite3 //arm-linux-strip用于剥离调试信息,使文件变小

6 移植到开发板

通过sftp、nfs或者U盘等方式,将 sqlite3 复制到目标板 /usr/bin 目录,将动态库文件 libsqlite3.so.0.8.6 复制到目标板 /usr/lib 目录,并对动态库做链接。

 
  
cp sqlite3 /usr/bin //将整个sqlite3移植到板上的/usr/bin下
cp libsqlite3.so.0.8.6 /usr/lib //将/sqlite3/lib下的libsqlite3.so.0.8.6移植到板上的
/usr/lib下
以上操作可以用也可以用U盘或SD卡
cd /usr/lib //打开板上的/usr/lib
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
这里要注意的是libsqlite3.so.0和libsqlite3.so不需要我们从sqlite3移植过来,它是自动生成的链接,而上面的目的就是创建共享库的软链接

7 运行测试sqlite3

在开发板上执行 sqlite3 命令,看到如下信息说明 sqlite3 移植成功!、

当然最后我还是遇到了问题:当我输入sqlite3出现了以下的错误
sqlite3: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决办法:下载libncurses.so.5,然后拷贝到/usr/lib下
最后再运行sqlite3
最后想说一句:尼玛,总算成功了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值