qDebug()
多くの場合、何かをデバッグする必要があるときは、デバッガーを使用して段階的にデバッグするよりも、を使用して何かを印刷する方が簡単です。問題は、の出力qDebug()
がまったく表示されないことです。qWarning
と同じqCritical
。奇妙なことに、プロジェクトを正常に実行している場合(Ctrl + R)にのみ発生し、デバッグ時(F5)に出力が表示されます。
7 に答える
解決策は簡単ですCONFIG += console
。.proファイルに追加して、プロジェクト全体を再構築します。
私にとっての解決策は、https ://bugzilla.redhat.com/show_bug.cgi?id = 1227295#c10で述べられているよう に:
qtlogging.ini
で探します/etc/xdg/QtProject/
。- 現在のファイルを編集します(または、
qtlogging.ini
欠落している場合はファイルを作成します)
[Rules] *.debug=false
に
[Rules] *.debug=true qt.*.debug=false
- 再コンパイルして確認してください!
Qt Creatorの複数のインスタンスを実行している場合、qDebugは正しく機能しません。
この問題の私の解決策は
Windows 10 Education
Qt Creator (5.x)
Developing a Qt widget.
問題:
したがって、私の問題は、メッセージを追加するたびにQDebug
、コードがチュートリアルと100%同じであり、正常にコンパイルされていても、アプリケーションの出力に表示されないことでした。
解決:
メッセージを追加したファイルを右クリックします。QDebug
私にとってはmain.cpp
。[ビルド]をクリックします。下部にある緑色の矢印を押します。
それでも機能しない場合は、[ビルド]-> [CleanAll]、[ビルド]-> [qMake]に移動し、緑色の矢印をもう一度選択します。
もちろん#include <QDebug>
、コード内でスペルが適切であることを確認する必要があります。
私は同じ問題を抱えていましたが、ここでの答えはどれも役に立ちませんでした。私はここで解決策を見つけました:https ://lists.fedoraproject.org/archives/list/kde@lists.fedoraproject.org/thread/SB6QJZGVDLWWBZCMTNKMVZSSPPNREOYJ/
QT_ASSUME_STDERR_HAS_CONSOLE=1を設定する必要がありました。これはコードで行うことができます:
qputenv("QT_ASSUME_STDERR_HAS_CONSOLE", "1");
または、「環境」の下の「キット」設定でより良い。
私の場合、どういうわけか「プロジェクトの構成」をクリックするのを忘れました。QTCreator4.11とQt5.14を使用しています。プロジェクトを作成するときに、作成プロセスの終わり近くにある[プロジェクトの構成]をクリックしませんでした。
Qt5.14.2、QtCreator 4.12.0:私にとってうまくいったのは、[プロジェクト]->[実行]->[ターミナルで実行...]の選択を解除することでした。