I have a very simple c programme:
int main()
{
return(1);
}
and a simple Makefile:
all:
gcc -ansi -pedantic -o 开发者_StackOverflow社区tmp tmp.c
./tmp
However, when I type make I get the following error message:
$ make
gcc -ansi -pedantic -o tmp tmp.c
./tmp
make: *** [all] Error 1
What obvious thing am I missing?
Make exits with an error if any command it executes exits with an error.
Since your program is exiting with a code of 1, make sees that as an error, and then returns the same error itself.
You can tell make to ignore errors by placing a - at the beginning of the line like this:
-./tmp
You can see more about error handling in makefiles here.
You're returning an error code of 1 from your application. It's Make's job to report this as an error!
This is because your program is returning 1.
Makes does the compilation using gcc, which goes fine (returns 0) so it proceeds with the execution, but your program return a non-zero value, so make reports this as an error.
A program on successful completion should return 0 and return a non-zero value otherwise.
加载中,请稍侯......
精彩评论