虚拟机:sun virtualbox
linux版本:ubuntu9.10
交叉编译工具:cross-2.95.3
2..交叉编译
首先,将SQLite.tar.bz2的压缩文件拷贝到/opt/friendlyARM/root_nfs(其中/opt/friendlyARM/root_nfs时我NFS挂载目录)
解压缩:tar -vxjf SQLite.tar.bz2,成功会生成sqlite-3.5.9该文件夹
新建目录:在sqlite-3.5.9文件同级的目录下(即root_nfs该目录下)新建一个SQLite目录
运行配置文件:
在开发板上不需要使用 tcl,使用--disable-tcl参数,--prefix可以随意指定,只要方便使用
$ ./configure --host=arm-linux --prefix=/opt/friendlyARM/root_nfs--disable-tcl。 如果一切顺利,会根据系统环境生成Makefile
编译:$make
$make install
如果通过会在/usr/local路径中生成三个目录:
bin 内有可执行文件sqlite3 ,可以放在开发板上运行
include 内有sqlite3.h与sqlite3ext.h两个头文件,是我们要得到的文件
lib 内有libsqlite3.a静态库文件和libsqlite3.so.0.8.6动态库文件,也是我们需要的文件
1、下载源码,解压缩sqlite-autoconf-3300100.tar.gz2、进入解压目录,执行:
#:./configure --host=arm CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabi-g++ --prefix=/usr
其中--host=要运行程序的主机
CC/CXX为用到的交叉编译工具链
--prefix=安装目录
3、make
将在当前文件目录下,自动生成可执行文件sqlite3及静态库文件sqlite3.a文件;
4、sudo make install
此命令会将可执行文件及静态库文件拷贝至安装目录中(也可手动拷贝)
5、以上步骤生成的可执行文件包含大量调试信息,文件比较大,可使用strip命令去掉其中的调试信息;
#:arm-linux-gnueabi-strip sqlite3
6、生成动态库文件:
arm-linux-gnueabi-gcc sqlite3.c -lpthread -ldl -fPIC-shared-o libsqlite3.so
交叉编译sqlite3,生成动态库
标签:ref gcc host pthread strip config 安装 目录 工具链
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)