移植SQLite3到ARM Linux开发板及工控机Ubuntu

1、下载 SQLite3源码

地址:http://www.sqlite.org/download.html

image.png

2、将源码包复制到主机工作目录下

        cd /usr

        mkdir sqlite3

        cd /usr/sqlite3

或者

       cd /home/star/APP/

       mkdir sqlite3

       cd /home/star/APP/sqlite3

       tar zxvf sqlite-autoconf-3250300.tar.gz

3、配置编译选项

mkdir ../install #创建安装目录

       ./configure --prefix=/home/star/APP/sqlite3/install

交叉编译

         sudo apt install gcc-arm-linux-gnueabihf 安装交叉编译器

         whereis arm-linux-gnueabihf-gcc

         which arm-linux-gnueabihf-gcc

         arm-linux-gnueabihf-gcc -v

验证ok

       ./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/home/star/APP/sqlite3/arm-install

说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。

4、编译安装

     make

     make install

5、使用下列命令进行验证:

root@embest:/usr/sqlite3/install/bin# ./sqlite3

SQLite version 3.25.3 2018-11-05 20:37:38

Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite>.quit

退出


二进制可执行文件获得后可直接从第6步开始


6、复制文件在开发板上制作链接

将sqlite3复制到/usr/local/bin目录,将动态库文件复制到/usr/local/lib目录,并对动态库做链接。

cp /media/sda1/sqlite3 /usr/local/bin

cp /media/sda1 libsqlite3.so.0.8.6 /usr/local/lib

cd /usr/local/lib

ln -s libsqlite3.so.0.8.6 libsqlite3.so.0

ln -s libsqlite3.so.0.8.6 libsqlite3.so

chmod 4755 /usr/local/bin/sqlite3 or 777(可选)

which sqlite3

解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file

分析原因:链接器ld提示找不到库文件。ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件所在的路径。

1.将用户用到的库统一放到一个目录,如 /usr/loca/lib

    # cp libXXX.so.X /usr/loca/lib/          

2.向库配置文件中,写入库文件所在目录

    # vim /etc/ld.so.conf.d/usr-libs.conf   

     /usr/local/lib

3.更新/etc/ld.so.cache文件

# ldconfig

你可能感兴趣的:(移植SQLite3到ARM Linux开发板及工控机Ubuntu)