私はかなり長い間この問題に苦労してきましたが、残念ながら私自身の推論も Google 検索も役に立ちませんでした。簡単に言えば、 QSqlError クラスで nativeErrorCode() 関数を使用しようとしています。コンパイラは言う: mainwindow.cpp:43:86: エラー: 'class QSqlError' には 'nativeErrorCode' という名前のメンバーがありません。これが参照する行です (正確には 2 行):
errorCreatingBooksTableMessageBox.setDetailedText((query.lastError().nativeErrorCode().isEmpty()) ?
query.lastError().text() : query.lastError().nativeErrorCode() + "\n" + query.lastError().text());
問題は些細なことのように思えますが、自分で答えを見つけることができません。#include は mainwindow.h ファイルにあります。いくつかの調査の後、他のフォーラムで、コンパイラが間違ったバージョンのヘッダー ファイルを使用していることを示唆している他の人々に気付きました。これは、Qt5 で関数 nativeErrorCode() が導入されてから発生する可能性が非常に高いと思われます。qt4 フォルダーをゴミ箱に移動しようとしましたが、それでも効果はありません。どんな助けでも感謝します