2016-10-13 24 views
0

Qt Creatorを使用してRazberry Pi 3搭載のデバイスにpostgresへの接続を試みていますが、ドライバはロードされません。デスクトップ上の同じアプリケーションは大丈夫です。Qt Creatorの埋め込み方法埋め込みPSQL

私の例はかなり単純です。

私は他の人の間でラズベリーのリストで

QSqlDatabase::drivers(); 

のログのみQSQLITE、およびデスクトップのリストQSQLITEメインクラスと、その中のコンソールプロジェクト、QPSQL、QMYSQLを持っています。

Qt Creatorに付属のBoot2Qtでデバイスに接続するoQt Creator Enterpriseを使用していますが、コンパイルと実行はすべて正しく行われますが、デバイスのPSQLドライバはリストされていません。

答えて

0

QSqlDatabase :: drivers()は、Qtドライバと特定のクライアントライブラリが必要な作業ドライバを持つために、特定のプラットフォームにロードできるドライバのみを一覧表示します。

ラズベリー用のpostgresqlクライアントライブラリがあるかもしれませんが、特定のLinuxバージョンをどこかに置いていますが、Boot2Qtはボードに自動的にロードしません。

Linuxの特定のバージョンのクライアントライブラリを見つけなければなりません(多分コンパイルする必要があります)、postgresql Qtドライバをボードに手動でコピーすると、QSqlDatabase :: drivers()はpostgresqlドライバを表示します利用可能です。

+0

マルコさん、ありがとうございました。 私はlibqsqlpsql.soを "手放す"ライブラリを見つけました。私は/ usr/libにコピーしましたが、成功しませんでした。 どうかこのライブラリを登録する必要がありますか? –

+0

いいえ私はそれがより複雑だと思います。Qtドライバは、マイナープラットフォーム用の主要なプラットフォーム用にバイナリで出荷されています。コンパイルするには、コンパイルするためにpostgresqlクライアントの開発バージョンが必要です。次に、特定のプラットフォーム用のドライバをコンパイルする必要があります、それは非常に複雑です.. http://doc.qt.io/qt-4.8/sql-driver.html#qpsql – Marco

+0

cd $ QTDIR/src/plugins/sqldrivers/psql qmake "INCLUDEPATH + =/usr/include/pgsql "" LIBS + = - L/usr/lib -lpq "psql.pro これは、あなたがその瞬間に作業しているプラ​​ットフォーム用のドライバをビルドするための一般的なコマンドですが、別のプラットフォーム – Marco