私はこの問題をかなりの間苦労しています。残念なことに、自分自身の推論もGoogle検索も私を助けませんでした。簡単に言うと、QSqlErrorクラスでnativeErrorCode()関数を使用しようとしています。コンパイラ:mainwindow.cpp:43:86:error: 'class QSqlError'に 'nativeErrorCode'という名前のメンバがありません。これは、(2本のライン、正確には)参照ラインである:クラスQSqlErrorにはメンバーがありませんnativeErrorCode()
errorCreatingBooksTableMessageBox.setDetailedText((query.lastError().nativeErrorCode().isEmpty()) ?
query.lastError().text() : query.lastError().nativeErrorCode() + "\n" + query.lastError().text());
問題は些細なようだが、私は自分自身で答えを見つけることができません。 #includeはmainwindow.hファイルにあります。いくつかの研究の後で、他のフォーラムの他の人が、コンパイラが間違ったバージョンのヘッダファイルを使用していることに気付きました。これは、関数nativeErrorCode()がQt5に導入されて以来、私はqt4フォルダをごみ箱に移動しようとしましたが、それでも効果はありません。どんな助けもお約束します
QMAKE =/usr/lib/i386-linux-gnu/qt5/bin/qmake –
この場合、Qt5を使用していますが、#をインクルードしましたか? –
Ashif
私はそう信じています:// –