开发者

Makefile: Error1

开发者 https://www.devze.com 2023-01-22 01:17 出处:网络
I have a very simple c programme: int main() { return(1); } and a simple Makefile: all: gcc -ansi -pedantic -o 开发者_StackOverflow社区tmp tmp.c

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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号