Qtにデバッグビルドのみのコードを含める公式にサポートされている方法を知っている人はいますか?例えば:
#ifdef QT_DEBUG
// do something
#endif
基本的にQ_ASSERTに似ていますが、より複雑なテスト用です。
Qtフレームワークがデバッグマクロを定義することを保証しているというドキュメントを見つけることができません。ない場合、この機能プロジェクト全体を実装するための賢明な非公式方法は何でしょうか?
Qtはリリースビルド用にQT_NO_DEBUG
を定義しています。それ以外の場合は、QT_DEBUG
が定義されます。
もちろん、.proファイルで任意のDEFINES
を指定して、それらをdebug
またはrelease
にスコープ指定することは自由です。
別の方法は、次のようなプロジェクトファイルに書き込むことです。
debug {
DEFINES += MYPREFIX_DEBUG
}
release {
DEFINES += MYPREFIX_RELEASE
}
そうすれば、Qtの内部定義に依存しなくなります。
チェックデバッグモードの場合:
#ifdef QT_DEBUG
//Some codes
#endif
チェックリリースモードの場合:
#ifndef QT_DEBUG //<== Please note... if not defined
//Some codes
#endif