This is for lazy people. Sometime when you compile your c/c++ program, you may get tons of errors, especially when you miss some include files or just start a new program. In this case the error messages just fly away quickly, and you get totally lost. Well, you may increase your buffer, you may redirect your output… but for people who are lazy like me, you want a script.

This script starts your make process thru open3, capturing all compiling errors, and dumping them to both screen and a file called error_log. If the error log is short, you can just view it on screen, otherwise vi the error_log.

#!/usr/bin/perl use IPC::Open3; use strict; use warnings; my $pid = open3(\*WRITER, \*READER, \*ERROR, "make"); open(ERROR_LOG, ">", "error_log"); while (my $line = <ERROR>) { print $line; print ERROR_LOG $line; } close(ERROR_LOG); waitpid($pid, 0);

In reply to capturing compile errors by pg

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.