天天看点

linux开发板添加qt库文件_QT数据库--添加ODBC驱动插件(Windows、Linux、ARM篇)

一、Windows篇 (由于Windows平台添加驱动插件比较简单,从网上找了两个方法,记录如下。PS:本人未验证)

1. 单独编译ODBC驱动源码  D:\Qt\4.8.4\src\plugins\sqldrivers\odbc

qmake -t vclib odbc.pro

nmake

2. 编译ODBC插件,./configure -plugin-sql-odbc

二、Linux篇

1.通过ubuntu software Center下载libqt4-sql-odbc

2.通过命令行方式安装#apt-get  install libqt4-sql-odbc

这样既可,有关Windows和linux篇就不在叙述了,网上一堆。可以自己行查找方法。

三、ARM篇(只要介绍此篇,在网上介绍ARM的实在太少了)

1.首先下载ODBC的源码,网址:http://www.unixodbc.org/     我下载的版本是:unixODBC-2.3.1.tar.gz

2.#tar -zxvf unixODBC-2.3.1.tar.gz

3.#./configure --prefix=/usr/local/unixODBC --enable-gui=no    回车

4.#make

5.#make install

6.退出后,重新命名该文件夹为unixODBC-2.3.1-pc

7.再次解压该软件编译ARM版

8.#tar -zxvf unixODBC-2.3.1.tar.gz

9.#./configure --prefix=/usr/local/unixODBC-arm --enable-gui=no --host=arm-linux 回车

10.#make

11.#make install

到此为止会在/usr/local/生成unixODBC-arm 目录。

然后编译QT的ODBC的驱动插件。

#/usr/local/Trolltech/QtEmbedded-4.5.3-arm/bin/qmake "INCLUDEPATH+=/usr/local/unixODBC-arm/include" "LIBS+=-L/usr/local/unixODBC-arm/lib -lodbc" odbc.pro

#make

编译后,会生成libqsqlodbc.so库文件,将此库文件拷贝到ARM板子里。

此处还需要拷贝/usr/local/unixODBC-arm/bin目录下面的libodbcinst.so libodbcinst.so.2 libodbcinst.so.2.0.0 libodbc.so libodbc.so.2 libodbc.so.2.0.0 六个文件到ARM板里。

此时在ARM板里运行测试程序就会看到如下效果

linux开发板添加qt库文件_QT数据库--添加ODBC驱动插件(Windows、Linux、ARM篇)

此时添加ODBC到ARM系统里已经完成。

还需要/usr/local/unixODBC-arm/etc 添加odbc.ini  odbcints.ini 这两个配置文件

PS:目前系统板支持 SQLite  MySQL ODBC 三个驱动

以上方法:

经本人测试,可能自己环境有误,将ODBC的库按照上述方法拷贝到开发板

仍然无法load ODBC。故而自己没有采用ODBC的驱动来实现access数据库,

最终采用SQLite驱动来实现数据库.db的连接

相关资料

1、QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE

说明在QT连接mysql数据库时,mysql的数据库驱动没有加载上,实际上就是缺少libqt4-sql-mysql 这个驱动包

解决办法:#sudo  apt-get install   libqt4-sql-mysql

2、QSqlDatabase: QPSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE  QMYSQL

说明在连接postgresql数据库时,QPSQL驱动没有加载,在你的LD_LIBRARY_PATH库路径中缺少libqt4-sql-psql驱动包

解决办法:# sudo apt-get install  libqt4-sql-psql

3、QSqlDatabase: QODBC driver not loaded

QSqlDatabase: available drivers: QSQLITE  QMYSQL  QPSQL

说明在连接odbc驱动的数据库时,缺少了libqt4-sql-odbc驱动包

解决办法:# sudo apt-get install libqt4-sql-odbc

4、QSqlDatabase: * driver not loaded

QSqlDatabase: available drivers: QSQLITE  QMYSQL  QPSQL

关于这一类的问题,有一个万能的命令,可以将这些包全部装上

# sudo apt-get install libqt4*

不过这样就会装上很多的用不到的包。