开发笔记

  • 首页
  • 工具箱
三味线的博客
  1. 首页
  2. Qt
  3. 正文

Qt+PostgreSQL 编译驱动(MSVC)

2019年03月08日 1107点热度 0人点赞 0条评论

我的版本:Qt 5.6.3(VS2015版)  PostgreSQL 10.7(32位)

1.编译驱动

需要Qt源码,对应下载:http://download.qt.io/official_releases/qt/5.6/5.6.3/single/qt-everywhere-opensource-src-5.6.3.zip

解压后,打开Qt的命令行工具,cd到F:\qt-everywhere-opensource-src-5.6.3\qtbase\src\sql\drivers\psql,执行

qmake "INCLUDEPATH+=F:/PostgreSQL/include" "LIBS+=F:/PostgreSQL/lib/libpq.lib" psql.pro

再执行nmake,我这里没配置环境变量用不了,所以直接打开VS2015的命令行工具,cd到相应目录执行nmake

编译完成后,在F:\qt-everywhere-opensource-src-5.6.3\qtbase\plugins\sqldrivers目录可以找到编译好的dll和lib,将两个dll复制到Qt的数据库驱动目录:

C:\Qt\Qt5.6.3\5.6.3\msvc2015\plugins\sqldrivers

2.程序运行

//.pro添加 QT+=sql
#include "mainwindow.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QLibrary>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSqlDatabase pgdb=QSqlDatabase::addDatabase("QPSQL");
    pgdb.setHostName("yourdata");
    pgdb.setPort(yourdata);
    pgdb.setDatabaseName("yourdata");
    pgdb.setUserName("yourdata");
    pgdb.setPassword("yourdata");
    if(!pgdb.open()) qDebug()<<"Failed to connect PGSql."<<pgdb.lastError();
    else qDebug()<<"Success to connect PGSql.";

    MainWindow w;
    w.show();

    return a.exec();
}

注意,还要把PostgreSQL bin目录(F:\PostgreSQL\bin)下的所有dll复制到程序Debug目录。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: pgsql Qt
最后更新:2020年06月06日

Clownce

不吃咸鱼的猫

点赞
< 上一篇
下一篇 >

文章评论

取消回复

COPYRIGHT © 2020 Clownce. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

蜀ICP备18010095号