http://www.linuxidc.com/Linux/2011-08/41133p3.htm
第3例收集:
问题:路径设置明明没有问题,arm-linux-gcc -v ,也可以正确显示版本信息(我用的是4.3.3的EABI编译器),但make zImage时总是提示找不到arm-linux-gcc
可能性分析:
网上资料:
1.应该是在 makefile 中指出你的 gcc 的源路径
估计是这样
CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc
#CC= gcc
2.你的arm-linux-gcc不在默认路径内。按上面说的加路径
3.安装好arm-linux-gcc,然后CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc,修改 Makefile,或者在PATH环境变量加/usr/local/arm/3.3.2/bin路径,这样更好点,用export命令。
5.由于Makefile可能是你./configure的时候生成的,所以要在./configure之后改,或者在./configure的时候用CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc
我的解决方案:
将Makefile中的CROSS_COMPILE = arm-linux-,改为CROSS_COMPILE = /opt/EmbedSky/4.3.3/bin/arm-linux-,此时又提示找不到arm-none-linux-gnueabi-gcc,无奈又改为CROSS_COMPILE = /opt/EmbedSky/4.3.3/bin/arm-none-linux-gnueabi-
这样可以顺利编译了!
在编译Qtape时,出现如下问题:
-lcrypt -luuid -lm -ldl -ldl -L/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/lib -L/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qt2/lib -lqte
/usr/bin/ld: cannot find -luuid
分析:找不到luuid,他是说找不到libuuid这个库!!
但是我已经安装了,为什么还是找不到呢?
-L 是指定库文件搜索路径
-I 指定头文件的查找目录
-l 指定连接库
无奈,只好将libuuid库从 /lib目录下移到/opt/EmbedSky/Qte/x86-qtopia-2.2.0/qtopia/lib/目录下,
问题解决!
感悟:似乎默认路径经常会出问题!
错误:make : arm-linux-gcc not found
可能原因:1.应该是在 makefile 中指出你的 gcc 的源路径
估计是这样
CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc
#CC= gcc
2.你的arm-linux-gcc不在默认路径内。按上面说的加路径
3.安装好arm-linux-gcc,然后CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc,修改Makefile,或者在PATH环境变量加/usr/local/arm/3.3.2/bin路径,这样更好点,用export命令。
5.由于Makefile可能是你./configure的时候生成的,所以要在./configure之后改,或者在./configure的时候用CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc
6. 出现了如下问题:
(1)arm-linux-gcc: command can not found. 解决方法:修改Makefile时,CROSS_COMPILE的更改采用绝对路径。
(2)提示linux/mtd/partitions.h中的61行:field 'list' is an incomplete type.解决方法:由于list_head定义于list.h,在partitions.h中包含之,问题解决。
(3)superlpplatform undeclared here(not in a function). 解决办法:在devs.h中声明之。
(4)安装模块时,Warning: you may need to install module-init-tools。 解决方法:
下载module-init-tools-3.0.tar.gz源码包的地方是:http://www.kernel.org/pub/linux/kernel/people/rusty/modules/module-init-tools-3.0.tar.gz
接下来, 按照下列步骤安装module-init-tools工具包:
tar -zxvf module-init-tools-3.0.tar.gz
在module-init-tools-3.0目录下,
# ./configure --prefix=/
# make moveold
# make all install
# ./generate-modprobe.conf /etc/modprobe.conf
然后make module_install