当前位置: 首页 > 工具软件 > SqliteCPP > 使用案例 >

linux 编译sqlitecpp,Linux之Qt利用Sqlite静态编译库

仲孙奇
2023-12-01

sqlite3编译安装

------------------------arm版----------------------

1.从官方网站下载sqlite-autoconf-3070602.tar.gz

2.解压,进入当前目录

3.开始配置,执行命令如下(前提配置好交叉编译环境):

./configure --prefix=/usr/local/sqlite_arm --host=arm-linux

4.开始编译,执行命令如下:

make

5.开始安装,执行命令如下:

make install

6.安装完,进入/usr/local/sqlite_arm,里面有东西(bin lib include share)

生成说明安装成功

7.把整个安装文件sqlite_arm拷贝到开发板上

8.进入sqlite_arm的bin目录,配置环境如下:

export LD_LIBRARY_PATH=/mnt/sqlite3_arm/lib:$LD_LIBRARY_PATH

9.执行命令:

./sqlite3

如果成功会显示sqlite3版本,到此移植sqlite3成功.

------------------------------------------------------

-------------------sqlite3静态库-----------------

1.安装完arm版sqlite3,进入安装目录sqlite3_arm的lib目录底下,内容如下

libsqlite3.a   libsqlite3.so    libsqlite3.so.0.8.6

libsqlite3.la  libsqlite3.so.0  pkgconfig

2.把libsqlite3.a拷贝到自己的应用程序目录下(比如我的Qtcreator应用程序test_sqlite_static)

同时拷贝sqlite3_arm的include目录底下的sqlite3.h到test_sqlite_static

3.在Qtcreator中的test_sqlite_static.pro配置单下加如下内容:

LIBS +=-L/root/test_sqlite_static /

lsqlite3

4.同时项目中添加已存在的头文件sqlite3.h

5.主程序main.cpp如下:

#include

#include "sqlite3.h"

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

sqlite3 *db=NULL;

char *zErrMsg=0;

int rc;

rc = sqlite3_open("test.db",&db);

if(rc)

{

fprintf(stderr,"Can't open database:%s/n",sqlite3_errmsg(db));

sqlite3_close(db);

return 0;

}

else printf("You have already successfully!/n");

sqlite3_close(db);

// return a.exec();

exit(1);

}

6.在Qtcreator中的Projects中的Build Settings项中的Qt version设置为Qt/e版本

7.编译程序,然后把程序拷贝到开发板,同时需要库:

libQtCore.so.4 libQtNetwork.so.4 libQtTest.so.4

8.运行程序./test_sqlite_static,成功则在当前目录有test.db文件生成

注意:

make时会出错:

“arm-none-linux-gnueabi-gcc: 3.7.6.2": No such file or directory”

Makefile 127行的“ 3.7.6.2”空格导致,去掉’3’之前的空格,编译通过。

 类似资料: