G++ error output not being shown

  • I am evaluating Qt Creator 2.0.0 (based on Qt 4.7.0 32-bit) on Windows Vista.

    I have a problem where none of the compile errors (i.e. typos etc.) are being shown in either the "Compile Output" or the "Build Issues" panes.

    This seems to be true of all projects and persists despite a clean install of Qt Creator.

    I seem to be suffering a lot of permission errors when overwriting files (i.e. app.exe) which can usually only be solved by deleting the old version of the file. I wonder if this is a similar problem and that the g++ output is being redirected to a file which cannot be created?

    Thanks for any help

  • Oh no, this is looking like a nasty Vista issue...

    From a cmd window there seems to be a problem with STDERR redirects:


    All compile errors are shown

    @g++ -c -g ....etc..... test.cpp@

    All compile errors are shown

    @g++ -c -g ....etc..... test.cpp 2> err.log@

    All compile errors are written to err.log

    @mingw32-make 2> err.log@


    mingw32-make[1]: *** [debug/test.o] Error 1
    mingw32-make: *** [debug] Error 2

    is written to err.log

  • Our parser expects gcc errors to show up on stderr. Some build systems seem to redirect it to stdout, thus breaking the parser. I already had one user report such an issue to the Qt Creator mailing list.

    Which kind of project are you building? This sounds like a custom makefile based one, is that correct?

  • Thanks for the reply.

    I installed the whole system Qt SDK for Windows binary (setup file) from the qt.nokia.com downloads.

    This problem applies to any project and no custom makefile. I have only just installed Qt Creator (clean install, default options) and trying to build the examples/demos from within the IDE.

    The only thing slightly unusual about my system is that I have Xming installed (but not running).

    In a way I don't think its a Qt Creator problem as further investigation shows that the same thing happens on the command line as well.

    It seems that the STDERR output of child processes are not being redirected properly. So when running g++ directly STDERR can be redirected, but when mingw32-make spawns g++ then only the make errors are being redirected.

    I found this patch from Microsoft "http://support.microsoft.com/kb/971163":http://support.microsoft.com/kb/971163 but it only applies to Vista 64-bit (I am running 32-bit).

    Otherwise I have Google'd extensively for STDERR redirection problems on Vista but no luck so far.

    Thanks for any insight, maybe I should try to post on the mingw forums.

  • Building with mingw works for me and I do see errors and warnings in the build issue pane.

    I am testing on Windows7 (64bit).

  • Unfortunately I don't know what I changed exactly, but the errors are now shown as expected.

    It may have something to do with Xming capturing the redirected output.

    I was hoping to isolate the cause in case others suffered the same problem.

Log in to reply