sqlite 在麒麟下安装、编译
sqlite 在麒麟下安装
1、登录官方网站,查看下载地址,下载,安装
https://www.sqlite.org/download.html
$ wget http://www.sqlite.org/sqlite-3******.tar.gz
$ ./configure
$ make
$ sudo make install
2、验证
$ sqlite3
$ sqlite
3、程序验证
首先要编译好
sqlite的库文件 :
libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 pkgconfig
可执行文件 :
sqlite3
本次测试:
sqlite3的库文件目录是:/usr/local/lib
可执行文件 sqlite3 的目录是: /usr/local/bin
头文件 sqlite3.h 的目录是: /usr/local/include
用ls命令查看如下:
[root@localhost config]# ls /usr/local/lib
libclamav.a libclamunrar_iface.a libclamunrar.so libsqlite3.so
libclamav.la libclamunrar_iface.la libclamunrar.so.5 libsqlite3.so.0
libclamav.so libclamunrar_iface.so libclamunrar.so.5.0.3 libsqlite3.so.0.8.6
libclamav.so.5 libclamunrar_iface.so.5 libmstring.so pkgconfig
libclamav.so.5.0.3 libclamunrar_iface.so.5.0.3 libsqlite3.a
libclamunrar.a libclamunrar.la libsqlite3.la
此目录下包含库文件:
libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 pkgconfig
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define _DEBUG_
int main( void )
{
sqlite3 *db=NULL;
char *zErrMsg = 0;
int rc; rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
if( rc )
{
fprintf(stderr, "Can't open database: %s/n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else printf("You have opened a sqlite3 database named zieckey.db successfully!/nCongratulations! Have fun ! ^-^ /n"); //创建一个表,如果该表存在,则不创建,并给出提示信息,存储在 zErrMsg 中
char *sql = " CREATE TABLE SensorData( /
ID INTEGER PRIMARY KEY, /
SensorID INTEGER, /
SiteNum INTEGER, /
Time VARCHAR(12), /
SensorParameter REAL /
);" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("zErrMsg = %s /n", zErrMsg);
#endif //插入数据
sql = "INSERT INTO /"SensorData/" VALUES(NULL , 1 , 1 , '200605011206', 18.9 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); sql = "INSERT INTO /"SensorData/" VALUES(NULL , 23 , 45 , '200605011306', 16.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); sql = "INSERT INTO /"SensorData/" VALUES(NULL , 34 , 45 , '200605011306', 15.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); int nrow = 0, ncolumn = 0;
char **azResult; //二维数组存放结果
//查询数据
sql = "SELECT * FROM SensorData ";
sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );
int i = 0 ;
printf( "row:%d column=%d /n" , nrow , ncolumn );
printf( "/nThe result of querying is : /n" );
for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )
printf( "azResult[%d] = %s/n", i , azResult[i] );
//删除数据
sql = "DELETE FROM SensorData WHERE SensorID = 1 ;" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("zErrMsg = %s /n", zErrMsg);
#endif
sql = "SELECT * FROM SensorData ";
sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );
printf( "/n/n/n/nrow:%d column=%d " , nrow , ncolumn );
printf( "/nAfter deleting , the result of querying is : /n" );
for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ )
printf( "azResult[%d] = %s/n", i , azResult[i] ); //释放掉 azResult 的内存空间
sqlite3_free_table( azResult ); #ifdef _DEBUG_
printf("zErrMsg = %s /n", zErrMsg);
#endif
sqlite3_close(db); //关闭数据库
return 0; }
sqlite 在麒麟下安装、编译的更多相关文章
- FFmpeg在Linux下安装编译过程
转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...
- linux下安装编译网卡驱动的方法
安装linux操作系统后发现没有网卡驱动,表现为 system → Administration → Network下Hardware列表为空. 以下为安装编译网卡驱动的过程,本人是菜鸟,以下是我从网 ...
- linux 下安装编译配置 QT
注: 1,自己 make qt-everywhere-opensource-src s时,在./configure前主动装好以下3个 sudo apt-get install libX11-dev l ...
- linux下安装编译php的curl扩展
curl扩展的位置(需要编译的版本)/root/install/php-5.5.24/ext/curl 1.进入对应的扩展目录 # cd /root/install/php-5.5.24/ext/cu ...
- linux下安装编译为安装的php扩展
1.进入php源码包中,找到需要安装的扩展模块目录.cd /root/php-5.6.26/ext/mbstring 2.在扩展模块目录,运行phpize程序,(作用是检测 php 的内核版本,并为扩 ...
- ubuntu 18.04下安装编译的KMS,依赖库
libboost-system1.65.1 libglib2.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libnice10 libsig ...
- win7(x64)下安装cocos2d并编译安卓项目
好吧,不为啥,就是如题. win7 x64 脑袋内存比较小,说不定明儿就忘了,今天记录一下. 没有什么经验,所有步骤基本都是百度出来的,这里边操作边记录,为了保护原创作者,这里我都附上我查找的链接. ...
- 在Linux下安装PHP过程中,编译时出现错误的解决办法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...
- 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)
GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...
- Windows7 x64 系统下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境
1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...
随机推荐
- 中国科学院计算所:从 NFS 到 JuiceFS,大模型训推平台存储演进之路
中科院计算所在建设大模型训练与推理平台过程中,模型规模与数据集数量呈爆发式增长.最初采用简单的裸机存储方案,但很快面临数据孤岛.重复冗余.管理混乱和资源利用不均等问题,于是升级到了 NFS 系统.然而 ...
- eclipse修改默认的工作空间路径
搜索Workspaces -->勾选Prompt for workspace on startup
- 【2020.11.24提高组模拟】变换 (transform) 题解
[2020.11.24提高组模拟]变换 (transform) 题解 题意描述 给一个大小为\(n\)的\(01\)环\(A\),点编号为\(0,1,\dots,n-1\).每一个点\(i\)都与\( ...
- Scrum Master,这九个问题你问了吗?
从团队技术负责人到Scrum Master或PO,我们需要从做决策转为提问题. 一.2个关于估算的问题 团队在进行项目前需要进行粗略估算,但这并不是要求团队成员一定按照估算出的结果进行. 问题一:估算 ...
- gitlab跨版本升级
此文档只讲述基于Omnibus 包安装的GitLab 修复示例: 本文采用升级gitlab版本来修复漏洞.因为gitlab官方会定期发行新版本用于修复漏洞 此升级为跨版本升级(14.10.x-ee - ...
- 分布式可视化 DAG 任务调度系统 Taier 的整体流程分析
Taier 作为袋鼠云的开源项目之一,是一个分布式可视化的 DAG 任务调度系统.旨在降低 ETL 开发成本,提高大数据平台稳定性,让大数据开发人员可以在 Taier 直接进行业务逻辑的开发,而不用关 ...
- 证明:C++ std::shared_ptr的引用不会增加它的计数值
#include <thread> #include <memory> #include <Windows.h> int main() { std::thread ...
- python字典批量删除多个键值对(连续)
搜不到字典批量删除多个键值对的方法,换了个搜索姿势,批量取N个元素,那么组合一下,就出来了! 新建一个字典dict: 目标:去掉key为c,d,e的键值对. 最常见的就是直接删除,但是这样有个弊端, ...
- http流量镜像
http流量镜像 "流量镜像"是指将网络中的数据流量复制一份,并将这份复制流量发送到另一个目的地(如监控.分析或安全检测系统).这项技术常用于网络安全.故障排查.业务灰度发布等场景 ...
- C# Avalonia动态加载xaml和cs实例
扩展请参考 https://www.cnblogs.com/dalgleish/p/18972924 NonCompiledXaml.axaml代码 <Window xmlns="ht ...