2014-06-09 47 views
0

我对这个Makefile输出无意义错误的事实感到非常失望!在MakeFile中执行后错误90

bin: 
    mkdir -p bin 
    gcc ./lsmodf/main.c ./lsmodf/oggetto.c ./lsmodf/lsmodfunctions.c -o ./bin/custom- 
lsmod 
clean: 
    rm -rf *o bin/custom-lsmod 
    rm -rf *o bin 
test: 
    rm -rf *o bin/custom-lsmod 
    rm -rf *o bin 
    mkdir -p bin 
    gcc lsmodf/main.c lsmodf/oggetto.c lsmodf/lsmodfunctions.c -o bin/custom-lsmod 
    @echo "\n\n\033[5;1m----------------------------------------\033[0m" 
    @echo "\033[1;31m LSMOD senza opzioni \033[0m\n" 
    bin/custom-lsmod 
    @echo "\033[5;1m----------------------------------------\033[0m" 
    @echo "\033[1;31m LSMOD con ordinamento per id\033[0m\n" 
    bin/custom-lsmod sort=id 
    @rm -rf *o bin/custom-lsmod 
    @rm -rf *o bin 

每当我执行make test它编译的一切,运行斌/定制的lsmod,然后抛出:

make: *** [test] Error 90 

和停止。我的意思是:它不执行该行下的指令。

+0

什么是'custom-lsmod'?它是否将值90返回给系统? Make可能会将其解释为失败。 –

+1

看起来'bin/custom-lsmod'返回90,所以Make停在那里。 – Biffen

+0

解决了,我忘了在.c文件的末尾写上“return 0”。 – Michael

回答

0

对于那些谁收到这种错误的:

Looks like bin/custom-lsmod returned 90, so Make stopped there.

由于比芬说,这是由可执行返回一个错误。编译器没有返回任何内容,但我忘记了在我的代码末尾放置了return 0,这似乎是导致问题的原因。

希望这可以帮助遇到此问题的人。

0

我想你没有执行的程度。

尝试在bin/custom-lsmod之前加chmod +x bin/custom-lsmod

Thread on Error 126

+0

我从来没有遇到缺乏执行权限的系统返回90(126似乎更常见),所以我会说这不太可能是原因。而且,Make target中的'chmod'似乎是一种奇怪的方法。 – Biffen

0

尝试在命令的开头添加一个连字符:

-bin/custom-lsmod 

这告诉make忽略错误。