我的linux程序放在/work/ZPY6410.0824/ZPY6410/文件夹下,我在/ZPY6410下执行make命令,可以正常的编译生成镜像文件,但是我在/ZPY6410/kernel/linux-2.6.28里,也就是内核文件夹里执行make命令的时候就会提示出错,出错的信息如下
说的是在/usr/local/arm/4.2.2-eabi/usr/bin里面没有arm-linux-gcc的命令,我知道这个文件里确实是没有,他报的错误是存在的,我想问的是为什么在上面的目录下,也就是/work/ZPY6410.0824/ZPY6410/目录下执行make命令就没有这个错误呢,难道两个目录用的gcc还不一样吗?实际上我在系统里有一个arm-none-linux-gnueabi放在opt/toolchains/usr/local/arm下的。 我现在想更改一下内核配置重新编译一下,但make menuconfig完成退出以后,make install就会包这个错,这是什么问题啊,难道一定要在/usr/local/arm/下装一个arm-linux-gcc吗?还是说哪里的配置有问题导致的这个现象,有知道的帮忙解释一下
I don not know the detail. But, usually, in order to completely compile the source tree, you should always start from the root folder that contains a master makefile.
There could be missing environment variables or build dependencies if you make from sub folder directly.
能在 make menuconfig 里面设置了交叉编译器的路径为 /usr/local/arm/4.2.2-eabi/usr/,删掉或者改成正确的 要知道原因就必须看你在/work/ZPY6410.0824/ZPY6410/目录下的makefile干了啥,想解决问题就修改/ZPY6410/kernel/linux-2.6.28目录下的makefile文件中的CROSS_COMPILE参数,或make menuconfig 修改交叉编译项参数
在这个路径下试试arm-linux-gcc 看看能不能找到 如果没有 可能这个路径下的编译器环境变量不太对export一下试试看
路径的问题,用绝对路径就行。
|