I don't think all of these macros need to be defined when building your own programs. For example QT_DEBUG clearly shouldn't need to be defined - from qglobal.h:
/*
Debugging and error handling
*/
#if !defined(QT_NO_DEBUG) && !defined(QT_DEBUG)
# define QT_DEBUG
#endif
/*
Debugging and error handling
*/
#if !defined(QT_NO_DEBUG) && !defined(QT_DEBUG)
# define QT_DEBUG
#endif
To copy to clipboard, switch view to plain text mode
The fact that qmake defines them doesn't necessarily mean you need them, qmake may define them because they're needed for building Qt itself.
That said, it's not a good idea for qmake to define macros that are not needed. Also it would indeed be a good idea to list all needed macros in a paragraph of the documentation. These really should be reported as a bug to Trolltech...
Bookmarks