我正在开发一个使用QtRuby和Postgresql的应用程序。 我成功开发并在Linux中成功运行。 现在我想在Windows中运行相同的应用程序。 但是我无法连接到数据库(postgresql)。 我收到以下错误:
QsqlDatabase: QPsql driver not loaded QsqlDatabase: available drivers: QsqlITE QODBC3 QODBC
一些Postgresql数据库通过像Navicat或pgAdmin这样的客户端不可见
如何在Windows 7上从Ubuntu打开db.dump
在Windows上初始化Postgresql数据库时访问被拒绝
将memcached放在db或web服务器实例上?
Windows Psql命令行:有没有办法允许无密码login?
如错误消息所示,QPsql驱动程序不适用于Qt与Postgres进行通信。 可能该插件尚未编译。
正如这个方法所示,您需要安装Postgresql开发人员库,然后手动构建Qt驱动程序插件。 请参阅具体命令的操作方法。
按照这里的指示编译QPsql插件: http ://ldc.usb.ve/docs/qt/sql-driver.html#qpsql-for-postgresql-version-7-3-and-above
Windows下使用QT的Postgresql: 如何编译驱动QPsql – MinGw – Win7
1)检查安装目录,在我的电脑中:
Postgresql (32 bit) C:Psql32bin Qt (32 bit) C:QT4.8.0bin MingW32 C:QTqtcreator-2.4.0mingwbin
2)将这3个目录添加到系统PATH
3)下载'mingw-utils'并安装在C: Qt 4.8.0 bin(需要实用程序REIMP.exe)
4)为mingw32转换有用格式的libpq.lib:
CD C: Psql32 libREIMP -d libpq.lib打开libpq.def并在定义开始处删除所有“_”dlltool –input-def libpq.def –output-lib libpq.a –dllname libpq.dll5)编译:CD C: Qt 4.8.0 src plugins sqldrivers psqlqmake -o Makefile“INCLUDEPATH + = C: Psql32 include”“LIBS + = C: Psql32 lib libpq.a”psql.promingw32-使调试mingw32-make发布10)复制dll:libqsqlpsqld4.a qsqlpsqld4.dll (debug) libqsqlpsql4.a qsqlpsql4.dll (release)在目录中:C:Qt4.8.0pluginssqldriversQT版本5.01的新问题struct timespec有多个定义在Postgresql的文件pthread.h中(C: Psql32 include pthread.h)更换:#ifndef HAVE_STRUCT_TIMESPEC
有:
#if((!defined(_TIMESPEC_DEFINED))&&(!defined(HAVE_STRUCT_TIMESPEC)))
完成:-)
浮士德
大! 完成! 但是有一些提示要注意:1. Mingw-utils,0.4-1不能在Windows 7上运行,我们必须使用0.3。 2. Psql驱动程序目录中有psql.json文件,请不要删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。