主题 : 关于使用Makefile编译的问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 12413
精华: 0
发帖: 36
金钱: 180 两
威望: 36 点
综合积分: 72 分
注册时间: 2010-01-06
最后登录: 2011-03-28
楼主  发表于: 2010-03-04 00:15

 关于使用Makefile编译的问题

一个驱动程序(光盘里的,应该没有问题),自己写了一个Makefile,使用的是虚拟机安装的REDHAT9(2.4的内核),想用2.6的内核编译这个驱动程序。但是编译的时候出现下面的错误,上网查了不少,没找到解决办法,各位大侠帮忙看一下吧!
make -C /opt/linux-2.6.14.1 M=/opt/lxd modules ARCH=arm CROSS_COMPILE=arm-linux-make[1]: Entering directory `/opt/linux-2.6.14.1'

  WARNING: Symbol version dump /opt/linux-2.6.14.1/Module.symvers
           is missing; modules will have no dependencies and modversions.

make[2]: *** No rule to make target `/opt/lxd/qq2440_leds.c', needed by `/opt/lxd/qq2440_leds.o'.  Stop.
make[1]: *** [_module_/opt/lxd] Error 2
make[1]: Leaving directory `/opt/linux-2.6.14.1'
make: *** [all] Error 2


我的Makefile:
ifneq ($(KERNELRELEASE),)

obj-m := qq2440_leds.o

else
    
KDIR :=  /opt/linux-2.6.14.1
all :
    make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
    rm -f *.ko *.o *.mod.o *.mod.c *.symvers

endif
级别: 新手上路
UID: 12413
精华: 0
发帖: 36
金钱: 180 两
威望: 36 点
综合积分: 72 分
注册时间: 2010-01-06
最后登录: 2011-03-28
1楼  发表于: 2010-03-04 12:27
没人遇到过吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2010-03-04 12:36
make[2]: *** No rule to make target `/opt/lxd/qq2440_leds.c', needed by `/opt/lxd/qq2440_leds.o'.  Stop.

为什么不先看看/opt/lxd/qq2440_leds.c这个文件在不在?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 12413
精华: 0
发帖: 36
金钱: 180 两
威望: 36 点
综合积分: 72 分
注册时间: 2010-01-06
最后登录: 2011-03-28
3楼  发表于: 2010-03-04 15:46

 回 2楼(kasim) 的帖子

qq2440_leds.c这个文件时有的,跟makefiel同在这个目录下啊!
级别: 新手上路
UID: 12413
精华: 0
发帖: 36
金钱: 180 两
威望: 36 点
综合积分: 72 分
注册时间: 2010-01-06
最后登录: 2011-03-28
4楼  发表于: 2010-03-04 18:14
能是编译器的问题吗?