问题:
报错“make:arm-linux-gcc not found”;
终端输入:arm-linux-gcc -v 有正确的输出;
编译时报错。
解决方案:直接在Makefile 文件里把“CROSS_COMPILE = arm-linux-”
改为:“CROSS_COMPILE = /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-”.
结果:验证通过
还存在的问题:
直接在终端下输入“arm-linux-gcc -v”得到正确的输出;
在终端下输入“sudo arm-linux-gcc -v"说找不到命令。
下文转自:http://blog.163.com/feique001@126/blog/static/2712833820107594821602/
make : arm-linux-gcc not found
学习心得 2010-05-13 11:16:41 阅读124 评论0 字号:大中小
问题:路径设置明明没有问题,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 然后make module_install |