将在本目录下生成Makefile文件。修改Makefile文件中如下语句,指定主机编译器为GCC:
这时就可以运行make & & make install命令开始编译,若无其他错误提示,则会在/../SQLite-3.3.8/sqlite-arm-linux/lib目录下生成库文件。主要有libsqlite3.so、libsqlite3.SO.O、libsqlite3.so.O.8.6三个文件。同时在bin文件夹下生成了可执行文件sqlite3。为了减小执行文件大小,用strip命令处理去掉其中的调试信息。
库文件生成后,可以通过NFS(网络文件系统)把相关库文件拷贝到ARM开发板上,设置好主机NFS服务器,启动目标板后,执行:
其中192.168.1.101为NFS服务器IP,这样就把SQLite库文件所在文件夹挂载到了目标板上,拷贝时注意加上-aRF选项,因为libsqlite3.so和libsqlite3.so.O是链接到Iibsqlite3.so.O.8.6的。4 嵌入式数据库系统设计及实现
对嵌入式系统而言,强大的图形用户接口使系统的功能更加丰富。目前有众多的GUI可供使用,考虑到授权和价格的因素,我们在Qt/Embedded基础上进行数据库界面程序的开发,完成嵌入式数据库系统的设计。Qt良好的封装机制使Qt的模块化程度非常高,可重用性较好。嵌入式数据库系统的基本结构如图2所示。
通过Qt的QTable控件来实现数据表单的显示,通过QListView、QC20mBobox以及QTextEdit等控件进行数据表单的选择、数据输入等,配合PushButton控件实现数据表的创建、删除和数据查询、添加、删除、修改等操作。这样,实现数据库系统的基本管理,并可利用串口实现与后台数据库之间的数据交互。本系统利用Qt Designer实现数据库界面的快速开发,并通过调用SQLite的API接口函数实现数据库的基本操作。下面简要介绍一下用QtDesigner开发数据库界面的基本方法及关键代码。新建一个C++项目,在此基础上新建一个窗口部件,在窗口部件上添加一个Table控件作为数据表单的显示界面。另根据需要,添加PushButton控件以实现相应的操作。在窗口类下新建一个槽,命名为SelectSlot()。连接相关按钮信号,关键代码如下:
其中tableView函数的作用是将查询得到的数据表显示在Table控件中。函数体程序如下: