• 5555阅读
  • 3回复

请哪位帮我编译一个postgreSQL驱动?我老是编译不成功 [复制链接]

上一主题 下一主题
离线salehliu
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-22
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
请哪位帮我编译一个postgreSQL驱动?我老是编译不成功,我用的postgreSQL版本是8.4,QT是QT2009.05
非常感谢啊
离线yj_yulin

只看该作者 1楼 发表于: 2009-12-23
教你一个方法,自己动手来编译。
默认的是肯定没有编译postgresql的,如果全部重新编译一次,那是相当地吐血,就configure一次,都要不少时间。
如果只是为了postgresql,可以自己搞点小动作。
我是在win上编译的,自己参考着修改:
进入QTDIR/src/sql 打开sql.pro

增加
INCLUDEPATH += $$quote(D:\Program Files\PostgreSQL\8.3\include)
LIBS += $$quote(D:\Program Files\PostgreSQL\8.3\lib\libpq.lib)

在此文件下面可以看到:
include(kernel/kernel.pri)
include(drivers/drivers.pri)
include(models/models.pri)

打开drivers/drivers.pri
在这个下面
contains(sql-drivers, all ) {
    sql-driver +=   psql mysql odbc oci tds db2 sqlite ibase
}
添加这行
sql-drivers += psql odbc sqlite

保存上面这两个文件,你就可以自己编译sql.pro来得到新的库了,已经有psql支持了。
其它数据库的驱动,同样可以这样来自己重新编译qtsql库来支持。
当然上面编译的相当于-qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library.所以需要依赖于驱动dll文件了。
离线salehliu
只看该作者 2楼 发表于: 2009-12-23
好像还是不行呀,我按照你的方法编译后,用以下代码测试:
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t" << driver;

还是只显示出来ODBC与QSQLITE,但是QPSQL没有
离线hehui

只看该作者 3楼 发表于: 2010-03-03
自己编译下也要不了多少时间
确保你用的Qt 的版本正确
快速回复
限100 字节
 
上一个 下一个