美文网首页
移植SQLite3到ARM Linux开发板及工控机Ubuntu

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

作者: 流痕无迹 | 来源:发表于2019-01-03 09:40 被阅读0次

    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

          本文链接:https://www.haomeiwen.com/subject/xlnxrqtx.html