详解Qt 利用Sqlite静态编译库 Linux 篇
创始人
2024-08-02 14:11:19
0

详解Qt 利用Sqlite静态编译库 (Linux 篇)是本文要介绍的内容,在坛子里逛,发现一片好文章,与大家分享一下。我们先来看内容。

sqlite3编译安装

ARM版

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

2.解压,进入当前目录

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

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

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

  1. make 

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

  1. make install 

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

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

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

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

9.执行命令:

  1. ./sqlite3 

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

sqlite3静态库

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

  1. libsqlite3.a   libsqlite3.so    libsqlite3.so.0.8.6  
  2. 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配置单下加如下内容:

  1. LIBS +=-L/root/test_sqlite_static /  
  2. lsqlite3 

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

5.主程序main.cpp如下:

  1. #include  
  2. #include "sqlite3.h"  
  3. #include  
  4. #include  
  5. int main(int argc, char *argv[])  
  6. {  
  7.     QCoreApplication a(argc, argv);  
  8.     sqlite3 *db=NULL;  
  9.     char *zErrMsg=0;  
  10.     int rc;  
  11.  
  12.     rc = sqlite3_open("test.db",&db);  
  13.     if(rc)  
  14.     {  
  15.         fprintf(stderr,"Can't open database:%s/n",sqlite3_errmsg(db));  
  16.         sqlite3_close(db);  
  17.         return 0;  
  18.     }  
  19.     else printf("You have already successfully!/n");  
  20.     sqlite3_close(db);  
  21.  
  22.    // return a.exec();  
  23.     exit(1);  

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

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

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

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

小结:关于详解Qt 利用Sqlite静态编译库 (Linux 篇)的内容介绍完了,希望本篇文章对你有所帮助。更多相关内容请参考编辑推荐。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...