首页 > 代码库 > make[2]: *** 没有规则可以创建“/home/hello.o”需要的目标“/home/hello.c”。 停止。

make[2]: *** 没有规则可以创建“/home/hello.o”需要的目标“/home/hello.c”。 停止。

    编译一个简单驱动hello.c时遇到的错误,如下:      

mach@mach-pc:~/workspace/project/driver/Hello$ make
make -C /home/mach/workspace/linux-3.8_webee210v2 M=/home/mach/workspace/project/driver/Hello modules ARCH=arm CROSS_COMPILE=arm-linux-
make[1]: 正在进入目录 `/home/mach/workspace/linux-3.8_webee210v2‘
make[2]: *** 没有规则可以创建“/home/mach/workspace/project/driver/Hello/webee210_hello.o”需要的目标“/home/mach/workspace/project/driver/Hello/webee210_hello.c”。 停止。
make[1]: *** [_module_/home/mach/workspace/project/driver/Hello] 错误 2
make[1]:正在离开目录 `/home/mach/workspace/linux-3.8_webee210v2‘
make: *** [all] 错误 2

 

看到这样的提示我知道肯定是语法问题,仔细看.c文件,仔细看makefile文件,都没有发现错误,后来注意了一下,makefile中的webee210_hello.o全部是小写,而Webee210_hello.c的“w”为大写,于是改为小写,编译,居然通过了。

真是无语,写出来让后来人有个参考。

 

make[2]: *** 没有规则可以创建“/home/hello.o”需要的目标“/home/hello.c”。 停止。