ビルド前にプログラムの実行を停止する
Qt Creator でプログラム実行中にビルドを実行すると次のエラーが発生する。
:-1: エラー: cannot open output file debug\hello.exe: Permission denied collect2.exe:-1: エラー: error: ld returned 1 exit status
プログラムを終了して、ビルドし直すと解消するが、面倒なので自動的に終了させるようにする。
次のバッチファイルを作成する。
taskkill.bat
taskkill.exe /im %1 /t 2>nul exit 0
プロジェクトのビルドステップの Make ステップの前に独自プロセスステップを追加する。
- コマンド: taskkill.bat
- 引数: <実行ファイル名>
- 作業ディレクトリー: <taskkill.bat のフォルダーパス>
PlainTextEdit ウィジェットのテキストを取得するメンバー関数
toPlainText() で取得する。初見殺し。
ui->plainTextEdit->toPlainText();
textChanged() と textEdited() の違い
textChanged() …テキストが変更されると emit される。
textEdited() …ユーザー操作によりテキストが変更されると emit される。
QSqlDatabase: QMYSQL driver not loaded
QMYSQL プラグインのロードに失敗する。ロード時に次のメッセージが表示される。
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
原因
qsqlmysql.dll が libmysql.dll を参照できなかったため。
解決方法
環境変数 PATH に libmysql.dll のフォルダーパス “C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib” を追加する。
MySQL 5.7 の Configuration wizard で [Next] ボタンが表示されない
環境
原因
画面の DPI が “小 - 100%” 以外になっているため。
解決方法
- [Alt] + [N] キーを押す。
または
- 画面の DPI を “小 - 100%” に変更する。
参考文献
MySQL Bugs: #85973: MySQL Installer, cannot configure (No "Next" button in installer screen)
windeployqt 0xc000007b
windeployqt で依存ファイルを集めた後の Qt アプリケーション起動時に次のエラーが表示される。
アプリケーションを正しく起動できませんでした ()。 [OK] をクリックしてアプリケーションを閉じてください。
原因
- ビルド時と異なるバージョンの windeployqt が実行され、異なるバージョンの DLL ファイルが収集されたため。
- 著者の場合は Anaconda のパスが優先になっており、Anaconda に含まれている windeployqt が実行されたため。