opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-ld: cannot find -lc




在尝试u-boot-1.1.6向mini2440移植的过程中,遇到下面的编译问题:

opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-ld: cannot find -lc


打开u-boot-1.1.6根目录下的Makefile,发现:第218行

PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lc -L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib

这一行是有问题的

检查一下arm-linux-gcc的目录,发现arm-none-linux-gnueabi目录下并没有libc这样的目录,因此推断问题是arm-linux-gcc带来的,将arm-linux-gcc换成4.3.2版本,检查libc目录存在,库文件完整后,重新调整环境变量,问题解决。



以下是Arm-linux-gcc-4.3.2安装步骤

下载arm-linux-gcc-4.3.2.tgz(84MB)

安装交叉编译工具链:
1、首先以root用户登入
2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
3、解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必须要有-C而且是大写的后边有个空格也要注意

4、配置下编译环境路径 在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后(最后一行)加上 下面代码

export PATH=/usr/local/arm/4.3.2/bin:$PATH

保存关闭后,注销当前用户, 用root账号重新登录系统(使刚刚添加的环境变量生效)

此时你可以在控制台输入: arm-linux-gcc -v 如果安装成功将会输出 arm-linux-gcc的版本号

若想让它在非超级用户下使用那。首先,以用户登入
1、 输入命令:vi ~/.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
export PATH=/usr/local/arm/4.3.2/bin:$PATH

2、输入命令:gedit /etc/profile

在文件的末尾加上
PATH=/usr/local/arm/4.3.2/bin:$PATH

保存对profile的修改后,执行source /etc/profile就OK了。

注销当前用户再登录后进入控制台执行arm-linux-gcc -v 看看能否执行成功就可以了

 

http://spring-studio.net/?p=188

ls /usr/local/lib/libsqlite3.* /usr/local/lib/libsqlite3.a /usr/local/lib/libsqlite3.so.0 /usr/local/lib/libsqlite3.la /usr/local/lib/libsqlite3.so.0.8.6 /usr/local/lib/libsqlite3.so ls /usr/local/include/sqlite3.h /usr/local/include/sqlite3.h arm-linux-gcc -L./lib-lsqlite3 -o sqlite sqlite.c /tmp/ccKtSnwq.o: In function `main': sqlite.c:(.text+0xf4): undefined reference to `sqlite3_open' sqlite.c:(.text+0x120): undefined reference to `sqlite3_errmsg' sqlite.c:(.text+0x140): undefined reference to `sqlite3_close' sqlite.c:(.text+0x170): undefined reference to `sqlite3_exec' sqlite.c:(.text+0x1b0): undefined reference to `sqlite3_free' sqlite.c:(.text+0x1d8): undefined reference to `sqlite3_exec' sqlite.c:(.text+0x218): undefined reference to `sqlite3_free' sqlite.c:(.text+0x240): undefined reference to `sqlite3_exec' sqlite.c:(.text+0x280): undefined reference to `sqlite3_free' sqlite.c:(.text+0x28c): undefined reference to `sqlite3_close' collect2: ld returned 1 exit status [root@localhost install]# arm-linux-gcc -o sqlite sqlite.c -L./usr/local/lib -lsqlite3 /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lsqlite3 collect2: ld returned 1 exit status [root@localhost install]# arm-linux-gcc -o sqlite sqlite.c -L./usr/local/lib -lsqlite3 -static /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lsqlite3 collect2: ld returned 1 exit status [root@localhost install]# chmod +x /usr/local/libsqlite3.so chmod: cannot access `/usr/local/libsqlite3.so': No such file or directory [root@localhost install]# chmod +x /usr/local/libsqlite3.so.0.8.6 chmod: cannot access `/usr/local/libsqlite3.so.0.8.6': No such file or directory [root@localhost install]# arm-linux-gcc -o sqlite sqlite.c -L./usr/local/lib -lsqlite3.so -static /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lsqlite3.so collect2: ld returned 1 exit status [root@localhost install]# arm-linux-gcc -o sqlite sqlite.c -L./usr/local/lib -lsqlite3.so /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lsqlite3.so collect2: ld returned 1 exit status
最新发布
06-06
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值