windows下使用MinGW编译QPSQL插件

来源:互联网 发布:ubuntu怎么连接宽带 编辑:程序博客网 时间:2024/04/29 22:05

一直以来一直想在Qt下使用PSQL数据库,但编译后QPSQL插件,一直不能运行,因此一直没用成。前天弄了一上午的一次偶然操作,终于发现了问题所在, 其实是很简单的。现将步骤写下来。

1、安装PostgreSQL,我这里安装的时PostgreSQL8.4,安装到了d:/PostgreSQL下。

2、打开Qt Command Prompt,进入命令行,然后进入$QTDIR/src/plugins/sqldrivers/psql目录。

3、然后,在命令行输入 qmake "INCLUDEPATH+=d:/PostgreSQL/include" "LIBS+=d:/PostgreSQL/lib/libpq.lib" psql.pro。

4、打开qtcreator,然后打开psql.pro文件,编译,即完成了编译。

    以前就是这编译完后就开始使用,结果运行程序提示,QSqlDatabase: QPSQL driver not loaded,使用qDebug() << QSqlDatabase::drivers();结果显示("QSQLITE", "QODBC3", "QODBC"),PSQL没有被加载。哪里出了问题呢?Qt找不到PSQL plugins路径?打开qt/plugins/sqldrivers目录,qsqlpsql4.dll、qsqlpsqld4.dll都在,路径应该是对的啊。从在这里纠结了好久,一直发现不了,重装了Qt、PostgrreSQL无数处,变换顺序也弄了,还是不得行。

    就这么一直放着,直到前天早上使用depends,心想用depends看看qsqlpsql4.dll呢,结果发现缺了好些dll,打开电脑搜索,结果在d:/PostgreSQL/bin中发现这些dll,试着把d:/PostgreSQL/bin和d:/PostgreSQL/lib目录加到系统环境变量,再次运行程序,结果正常了。心时哪个高兴啊。再运行qDebug() <<QSqlDatabase::drivers();显示("QSQLITE", "QODBC3", "QODBC", "QPSQL7", "QPSQL")

 正常了,折腾了这么久的问题,居然这么简单。