include(devinfo.pri)
//devinfo.pri文件中这样定义:可以通过“#”来实现预编译
# Debug output from waveform generation
#DEFINES += LOG_WAVEFORM
//utils.h中这样定义:
#ifndef UTILS_H
#define UTILS_H
#include <QDebug>
class NullDebug
{
public:
template <typename T>
NullDebug& operator<<(const T&) { return *this; }
};
inline NullDebug nullDebug() { return NullDebug(); }
#ifdef LOG_WAVEFORM
# define WAVEFORM_DEBUG qDebug()
#else
# define WAVEFORM_DEBUG nullDebug()
#endif
#endif // UTILS_H
//代码中如下使用
WAVEFORM_DEBUG << "Waveform::paintEvent"
<< "windowPosition" << m_windowPosition
<< "windowLength" << m_windowLength;
这样就可以通过pri文件来实现工程中是否需要输出debug信息了