0

QtRuby と PostgreSQL を使用してアプリケーションを開発しています。Linuxでの開発と実行に成功しました。今、同じアプリケーションを Windows で実行したいと考えています。しかし、データベース(postgresql)に接続できません。次のエラーが表示されます。

 QSqlDatabase: QPSQL driver not loaded
 QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
4

4 に答える 4

2

エラー メッセージにあるように、Qt が Postgres と対話するために QPSQL ドライバーを使用できません。おそらくプラグインはまだコンパイルされていません。

このハウツーが示すように、PostgreSQL 開発者ライブラリをインストールしてから、Qt ドライバー プラグインを手動でビルドする必要があります。正確なコマンドについては、ハウツーを参照してください。

于 2009-03-16T08:20:07.063 に答える
0
  1. ここで指示されているようにQPSQLプラグインをコンパイルします:http://ldc.usb.ve/docs/qt/sql-driver.html#qpsql-for-postgresql-version-7-3-and-above
  2. PostgreSQLのbinパスをPATH環境変数に追加します
于 2012-01-26T08:17:13.573 に答える
0

すごい!終わった!ただし、注意すべきヒントがいくつかあります。 1. Mingw-utils、0.4-1 は Windows 7 では機能しません。2. PSQL ドライバーのディレクトリに psql.json ファイルがあります。削除しないでください。

于 2013-06-12T04:39:58.370 に答える
0

Windows で QT を使用する Postgresql:ドライバー QPSQL をコンパイルする方法 - MinGw - Win7

1)私のPCでインストールディレクトリを確認します:

PostgreSQL (32 bit)    C:\PSQL32\bin
Qt (32 bit)            C:\QT\4.8.0\bin
MingW32                C:\QT\qtcreator-2.4.0\mingw\bin      

2) これら 3 つのディレクトリをシステム PATH に追加します。

3) 'mingw-utils' をダウンロードし、C:\Qt\4.8.0\bin にインストールします (ユーティリティ REIMP.exe が必要です)。

4) libpq.lib を mingw32 の便利な形式に変換します。

CD C:\PSQL32\lib

REIMP -d libpq.lib

libpq.def を開き、定義の先頭にあるすべての「_」を削除します

dlltool --input-def libpq.def --output-lib libpq.a --dllname libpq.dll

5) コンパイル:

CD C:\Qt\4.8.0\src\plugins\sqldrivers\psql

qmake -o Makefile "INCLUDEPATH+=C:\PSQL32\include" "LIBS+=C:\PSQL32\lib\libpq.a" psql.pro

mingw32-make デバッグ

mingw32-make リリース

10) dll をコピーします。

libqsqlpsqld4.a   qsqlpsqld4.dll    (debug)  

libqsqlpsql4.a   qsqlpsql4.dll      (release)

ディレクトリ内:

C:\Qt\4.8.0\plugins\sqldrivers

QT バージョン 5.01 の新しい問題

struct timespec の複数の定義があります

PostgreSQL のpthread.hファイル(C:\PSQL32\include\pthread.h) 内

交換:

#ifndef HAVE_STRUCT_TIMESPEC

と:

#if ((!defined(_TIMESPEC_DEFINED)) && (!defined(HAVE_STRUCT_TIMESPEC)))


終わり :-)

ファウスト

于 2013-03-22T19:06:55.957 に答える