mips交叉编译:SQLite3

交叉编译程序时,报错如下:

cannot find -lsqlite3

提示没有sqlite3的库。需要我们交叉编译一下。

下载页面

https://www.sqlite.org/download.html (下载sqlite-autoconf-3330000.tar.gz安装包)

tar -vxf sqlite-autoconf-3330000.tar.gz 
cd sqlite-autoconf-3330000/ 
mkdir __install 
./configure --host=mips-linux --prefix=$PWD/__install CC=/opt/gcc-4.9.3-64-gnu/bin/mips64el-linux-gcc
make -j4
make install

 

最近在编译龙芯3A5000,老的sqlite3解压文件里面的配置文件太旧,找不到loongarch64-linux,现在增加方法,使用下面两条命令获取新的配置文件

 

wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'

wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'

对应的--host 修改成现在的loongarch
./configure --host=loongarch64-linux --prefix=$PWD/install CC=/opt/loongarch64-linux-gnu/bin/loongarch64-linux-gnu-gcc

  

 

查看交叉编译出来的库

[root@cc __install]# cd  /opt/sqlite-autoconf-3330000/__install

[root@cc __install]# file ./lib/*
./lib/libsqlite3.a:        current ar archive
./lib/libsqlite3.la:       libtool library file, ASCII text
./lib/libsqlite3.so:       symbolic link to libsqlite3.so.0.8.6
./lib/libsqlite3.so.0:     symbolic link to libsqlite3.so.0.8.6
./lib/libsqlite3.so.0.8.6: ELF 64-bit LSB shared object, MIPS, MIPS64 rel2 version 1 (SYSV), dynamically linked, with debug_info, not stripped
./lib/pkgconfig:           directory

可以看到是mips架构的。

拷贝库到交叉编译里:

cp -a ./lib/* /opt/gcc-4.9.3-64-gnu/mips64el-linux/lib
cp -a ./include/* /opt/gcc-4.9.3-64-gnu/mips64el-linux/include/

-a:保持源文件的原有结构和属性;

再次编译程序即可。

 

posted @ 2020-09-24 16:45  一如年少de模样  阅读(694)  评论(0编辑  收藏  举报