Linux之Qt利用Sqlite静态编译库(转)
参考: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’之前的空格,编译通过。
转载于:https://www.cnblogs.com/kwseeker-bolgs/p/4747562.html
Linux之Qt利用Sqlite静态编译库(转)相关推荐
- CentOS编译安装Qt(Qt可使用静态编译编译器)
CentOS编译安装Qt(Qt可使用静态编译编译器) 文章目录 前言 下载Qt源码 编译安装--以4.7.4为例 安装QtCreator 设置编译器 附加--Windows Qt静态编译的方法(以5. ...
- linux下的动态链接库和静态链接库到底是个什么鬼?(一)静态链接库的编译与使用...
知识不等于技术,这句话真的是越工作的时间长越深有体会,学习到的知识只有不断的实践,才成真正在自已的心里扎下根,成为自身的一部分,所以无论如何,我希望我的博客可以一直写下去,慢慢的沉淀,终会有回报,无聊 ...
- Linux下QT4.7.1静态编译过程
一.静态编译QT库 发布QT程序时,为了使没有QT依赖库的环境中也能运行QT程序,这就需要静态编译你的QT程序.要达到这个目的,首先必须静态编译你的QT库文件,其过程如下: 我的系统:Ubuntu10 ...
- Linux环境下c语言静态链接库和动态链接库创建和使用
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功, ...
- Linux 中的动态链接库和静态链接库是干什么的?
link 什么是库? 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常. 本质上来说库是一种可执行代码的二进制形 ...
- Linux中的动态链接库与静态链接库
静态链接库是以.a结尾的文件,一般是用工具将多个.o文件合并到一起组成静态库 动态链接库是以.so结尾的文件,和windows下的dll文件类似. 静态链接库都可以在程序编译过程中用 -L参数来指定他 ...
- windows 调用linux .a lib,动态链接库及静态链接库(windows下的.dll .lib和linux下的.so .a)...
动态链接库及静态链接库(windows下的.dll .lib和linux下的.so .a) 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀.例如:libhello.so libhello ...
- QT5.4 vs2013静态加载插件的sqlite静态编译
1. 非常多同学在静态编译QT5完毕后, sqlite的驱动老是载入不进去, 原因可能是由于你没有例如以下操作: #include <QtPlugin> Q_IMPORT_PLUGIN(Q ...
- 红帽linux 下qt 5.13.1 编译 mysql80驱动(内含升级gcc版本)
前言: 本地一台redhat linux虚拟机已经安装了qt5.13.1以及mysql80 详细的安装流程可通过如下链接查看 linux 安装qt 安装mysql 在qt的数据库编程阶段,需要对 ...
最新文章
- 【PAT (Basic Level) 】1030 完美数列 (25 分)
- Python安装时我遇到的一些问题
- windos server 2003 邮件服务器的搭建
- android源码的目录
- JVM对象占用内存计算
- 什么? 搞不定redis分布式锁?
- CCF201809-2 买菜
- 提取PCA变换后的图像的各主成分(matlab代码)
- matlab绘制不同线性的直方图,在matlab中绘制多个垂直直方图
- python中的round
- [论文阅读]PIXER: an automated particle-selection method based on segmentation using deep neural network
- char *p = hello world!
- 两个鸡蛋100层楼(DP)
- 基于Android的共享单车系统的设计与应用
- 文件太大notepad 打不开怎么办
- 学了点技术,我要开始装X了
- zookeeper:[WorkerSender[myid=2]:QuorumCnxManager@584] - Cannot open channel to 3 at election address
- Linux操作系统下C语言网络编程(全文23475字,包含了Linux系统下所有网络编程的知识点,附程序代码)
- java毕业论文幼儿园_java毕业设计_springboot框架的幼儿园管理
- div+css静态作业——洛阳城旅游(34页) HTML+CSS+JavaScript dreamweaver作业静态HTML网页设计模板 出游