比如说我们在qtcreator中编写程序的时候想用到sqlite3数据库,但是因为qtcreator中的编译器中的库中并没有sqlite3的库,所以肯定编译不了,所以若想在qtcreator中编译sqlite3的程序,首先的将sqlite3的库添加到交叉编译器中,同样这个也分为在PC下和在开发板tiny6410中两种情况:
前提:安装sqlite3
有sqlite3交叉编译的压缩包,解压到/opt下,同qt的移植一样,解压到的目录必须保持在PC与开发板中的路径一样。
在PC机下编译:
1.进入项目所在的目录下,qmake一下,将会自动生成一个Makefile文件,我们就是要在这个文件当中将sqlite3的路径添加进去。
2.vi Makefile
在INCPATH的最后添加:-I/usr/include(这个路径是我们的sqlite3的头文件在的目录,一般用apt-get install 的都存放在这个路径下,自己可以查找一下)
在LFAGS的最后添加:/usr/lib(这个是sqlite3的库所在的路径,我有些好奇,为什么这个不是甜在LIBS中)
在LIBS的最后添加:-lsqlites(l 代表的是lib)
在tiny6410中运行sqlite3的程序的时候也是同样的操作,不过这个时候就必须有sqlite3的交叉编译的头文件和库,然后将交叉编译的路径添加到
Makefile里便可。
解压sqlite3的交叉编译压缩包,切入可执行文件configure所在的目录
执行configure并指定到指定的路径:
./configure --prefix=/opt/ --host=arm-linux --disable-tcl(/opt/为指定路径,)
make 一下
make install一下
便可以在/opt/下看见sqlite3的目录了,里面有sqlite3的头文件及库,到时候在Makefile中更改的路径便是/opt/sqlite3/
这些交叉编译的压缩包一般都可以到官网里下载,但是我从来没有去下载过,好担心到时候自己找不到这些交叉编译资料怎么办?这是能力不足的表现啊。。。