当前位置: 技术问答>linux和unix
一个关于交叉编译的问题
来源: 互联网 发布时间:2016-09-19
本文导语: 用的开发板是学校实习发的magusMagus/linux实验包里的半成品 详细可以在www.huameishi.com看到。 下面是makefile ERNELDIR = /opt/linux-2.6.24-magus PWD := $(shell pwd) INSTALLDIR = /home/yalom/B CROSS_COMPILE =arm-linux- CC = $(CROSS_...
用的开发板是学校实习发的magusMagus/linux实验包里的半成品
详细可以在www.huameishi.com看到。
下面是makefile
ERNELDIR = /opt/linux-2.6.24-magus
PWD := $(shell pwd)
INSTALLDIR = /home/yalom/B
CROSS_COMPILE =arm-linux-
CC = $(CROSS_COMPILE)gcc
obj-m := hello.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
cp hello.ko $(INSTALLDIR)
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
初学者,上面的makefile是上网找了很久,各种版本的杂糅版.....结果不对,make之后
提示
ake -C /opt/linux-2.6.24-magus M=/home/yalom modules
make[1]: Entering directory `/opt/linux-2.6.24-magus'
CC [M] /home/yalom/hello.o
cc1: error: invalid option `64'
cc1: error: invalid option `no-red-zone'
cc1: error: invalid option `cmodel=kernel'
cc1: error: invalid option `no-sse'
cc1: error: invalid option `no-mmx'
cc1: error: invalid option `no-sse2'
cc1: error: invalid option `no-3dnow'
cc1: error: invalid option `accumulate-outgoing-args'
make[2]: *** [/home/yalom/hello.o] 错误 1
make[1]: *** [_module_/home/yalom] 错误 2
make[1]: Leaving directory `/opt/linux-2.6.24-magus'
不知道什么原因,另外想知道
KERNELDIR = ?
PWD := $(shell pwd)
INSTALLDIR = ?
CROSS_COMPILE = ? 问号处填的都是什么信息,如果在开发板上操作,KERNELDIR是填开发板的内核位置吗?
详细可以在www.huameishi.com看到。
下面是makefile
ERNELDIR = /opt/linux-2.6.24-magus
PWD := $(shell pwd)
INSTALLDIR = /home/yalom/B
CROSS_COMPILE =arm-linux-
CC = $(CROSS_COMPILE)gcc
obj-m := hello.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
cp hello.ko $(INSTALLDIR)
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
初学者,上面的makefile是上网找了很久,各种版本的杂糅版.....结果不对,make之后
提示
ake -C /opt/linux-2.6.24-magus M=/home/yalom modules
make[1]: Entering directory `/opt/linux-2.6.24-magus'
CC [M] /home/yalom/hello.o
cc1: error: invalid option `64'
cc1: error: invalid option `no-red-zone'
cc1: error: invalid option `cmodel=kernel'
cc1: error: invalid option `no-sse'
cc1: error: invalid option `no-mmx'
cc1: error: invalid option `no-sse2'
cc1: error: invalid option `no-3dnow'
cc1: error: invalid option `accumulate-outgoing-args'
make[2]: *** [/home/yalom/hello.o] 错误 1
make[1]: *** [_module_/home/yalom] 错误 2
make[1]: Leaving directory `/opt/linux-2.6.24-magus'
不知道什么原因,另外想知道
KERNELDIR = ?
PWD := $(shell pwd)
INSTALLDIR = ?
CROSS_COMPILE = ? 问号处填的都是什么信息,如果在开发板上操作,KERNELDIR是填开发板的内核位置吗?
|
KERNELDIR
这个变量要给他赋值:你开发板内核源码树的位置。不能是你本机的。
这个变量要给他赋值:你开发板内核源码树的位置。不能是你本机的。