I am redirecting the g++ compiler output(both stderr and stdout) to a file on linux. But it is creating an empty file.
I read in some other post that stdout is not flushed after every line. Thats ok, but what about stderr. In my case there are compilation errors running several screens. So, I am interested in stderr output. There is no stdout output created.
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp 2> output
The above command creates an empty file named "output". The following command reports invalid null command.
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp &> output
Invalid null command.
-
Here.
-
"No news is good news" -- does your command even produce any output? When there are no errors, g++ won't print out anything!
rboorgapally : i am concerned about stderr. i know that compilation of a file doesnt produce any output :)Ferdinand Beyer : Oh, you are right, I missed that. Sorry! -
You might try this:
sh/bash/zsh version:
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ \ -I ~/cplusplus/niVxWorksDeliver/TEES/ \ Algorithms.cpp > output 2>&1csh or tcsh version:
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ \ -I ~/cplusplus/niVxWorksDeliver/TEES/ \ Algorithms.cpp >& outputrboorgapally : g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I ~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp > output 2>&1 Ambiguous output redirect.Rob Kennedy : Your shell is not bash. That is a csh error message. -
One of your comments betrays that you are not using bash. You're using csh or tcsh. In that case, you can redirect all output (including standard error) like this:
g++ -c Algorithms.cpp >& output
For more csh redirection syntax, I have a useful link bookmarked. Note that csh redirection syntax is not as fluent as bash syntax. You can do more in bash than you can in csh.
rboorgapally : i am sorry for misleading you. That was only due to my ignorance. Thank you very much.
0 comments:
Post a Comment