参考:http://www.linuxidc.com/Linux/2011-11/47465.htm

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 <QtCore/QCoreApplication>
#include "sqlite3.h"
#include <stdio.h>
#include <stdlib.h>
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’之前的空格,编译通过。

Linux之Qt利用Sqlite静态编译库(转)的更多相关文章

  1. Linux环境下c语言静态链接库和动态链接库创建和使用

    库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功, ...

  2. QT5.4 vs2013静态加载插件的sqlite静态编译

    1. 非常多同学在静态编译QT5完毕后, sqlite的驱动老是载入不进去, 原因可能是由于你没有例如以下操作: #include <QtPlugin> Q_IMPORT_PLUGIN(Q ...

  3. linux下动态链接库.so文件 静态链接库.a文件创建及使用

    转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲:    ...

  4. 笔记-linux下Qt5.3.2 静态编译

    这里主要讲linux下的编译,windows下面比较简单 参考:http://qt-project.org/wiki/Building-Qt-5-from-Git 依赖 sudo apt-get in ...

  5. linux常用命令及一些静态动态库相关知识

    1 查找然后grep,最后在复制到特定目录 find . -depth -name *.java | xargs grep -i lijiangtao | awk -F ":" ' ...

  6. linux以下C 利用openssl的AES库加密,解密

    OpenSSL提供了AES加解密算法的API const char *AES_options(void); AES算法状态,是所有支持或者是部分支持. 返回值:"aes(full)" ...

  7. QT + openssl + VS2015静态编译

    从http://slproweb.com/products/Win32OpenSSL.html下载已经编译好的openssl,一路next 我将OpenSSL-Win32\lib\VC目录下的libe ...

  8. Linux下静态编译Qt

    Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所 ...

  9. 静态编译Qt5.4.1和Qt WebKit

    图灵社区文章地址:http://www.ituring.com.cn/article/195148WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉 ...

随机推荐

  1. sqlite与android交互 (封装)

    学android已经有大概一周时间了吧 ,总感觉自己基础不怎么好,只能通过一点一点积累着敲来巩固平常的知识,有的时候就先不封装的敲一遍,再封装上,有些语句真的记不住,虽然知道他是什么意思,于是乎就反复 ...

  2. vs2010 vc++ 统一修改所有工程的目录配置

    vs2005和vs2008中都是通过 工具-选项-项目和解决方案-VC++目录,设置 头文件include .库文件lib.可执行文件dll的路径,以便在引用dll动态链接库文件时,可以查找到该文件的 ...

  3. hdu2896病毒侵袭(ac自动机)

    链接 ac自动机的模板题 说2个注意的地方 一是题目说明包含所有ASCII字符,可以开到0-127 包含空格 题目会输入多个源串,在加完当前的val值时,不应清0,可以开个标记数组. #include ...

  4. 对数组进行malloc动态分配的一些总结

    笔者在处理程序奔溃问题的时候,遇到栈溢出的情况,栈溢出最常见的情况是:迭代调用和数组过大.数组占用占空间,所以改为了malloc方式放在堆上.想想,就想整理一下关于对多维数组的动态分配问题. 一,堆和 ...

  5. Shell重定向文件描述符

    #!/bin/bash      最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的.废话少说,linux中使用文件描述符来标识每个文件对象.文件描述符为一个非负整数,可以唯一标识会话中打开 ...

  6. express-generator安装时出错,最后用VPS解决

    npm install -g express-generator npm ERR! Linux 3.10.0-229.el7.x86_64npm ERR! argv "/usr/local/ ...

  7. MYSQL常见错误及其解决方式

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  8. SPSS数据分析—协方差分析

    我们在实际工作中为了准确的分析问题,经常会收集多个变量,这些变量之前存在相互影响,导致分析的因素混杂,影响分析结果,为了获得准确的实验效应,我们需要控制其中一些影响因变量的变量,这些变量称为就协变量, ...

  9. 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性

    Java并发编程实践 目录 并发编程 01—— ThreadLocal 并发编程 02—— ConcurrentHashMap 并发编程 03—— 阻塞队列和生产者-消费者模式 并发编程 04—— 闭 ...

  10. UIScrollView 原理详解

    转载此文章原因:web页面在ipad的app中总是有橡皮筋效果,使用iscroll虽然能解决橡皮筋想过,但是滚动层内的元素事件都无法触发.故同安卓和ios一样使用后台解决...红色的为解决方案.. S ...