搜索
bottom↓
回复: 4

请教一个很奇怪的链接错误。

[复制链接]

出0入0汤圆

发表于 2012-4-13 13:22:48 | 显示全部楼层 |阅读模式
本帖最后由 zyp000 于 2012-4-13 15:14 编辑


明明生成了3个对应的.o文件,可是链接器却提示找不到其中的2个。
交叉编译工具是TQ2440的光盘里带的。
Makefile:
objs := head.o init.o leds.o

mmu.bin : $(objs)
        arm-linux-ld -Tmmu.lds -o mmu_elf $^
        arm-linux-objcopy -O binary -S mmu_elf $@
        arm-linux-objdump -D -m arm mmu_elf > mmu.dis
       
%.o:%.c
        arm-linux-gcc -Wall -O2 -c -o $@ $<

%.o:%.S
        arm-linux-gcc -Wall -O2 -c -o $@ $<

clean:
        rm -f mmu.bin mmu_elf mmu.dis *.o
mmu.lds:
SECTIONS
{
        first        0x00000000:{head.o,init.o}
        secoud        0xB0004000:AT(2048){leds.o}
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-4-13 23:25:31 | 显示全部楼层
chmod 777 *
可以解决问题

出0入0汤圆

 楼主| 发表于 2012-4-14 13:03:17 | 显示全部楼层
本帖最后由 zyp000 于 2012-4-14 13:07 编辑

好像不是权限问题,我用root用户登录以后,再make还是一样的错误。
root@ubuntu:/program/mmu1# ls -l
total 24
-rwxrwxrwx 1 root root  901 2012-04-13 21:34 head.S
-rwxrwxrwx 1 root root 6414 2012-04-13 21:34 init.c
-rwxrwxrwx 1 root root  987 2012-04-13 21:34 leds.c
-rwxrwxrwx 1 root root  316 2012-04-13 21:34 Makefile
-rwxrwxrwx 1 root root   91 2012-04-13 21:34 mmu.lds
root@ubuntu:/program/mmu1# make
arm-linux-gcc -Wall -O2 -c -o head.o head.S
arm-linux-gcc -Wall -O2 -c -o init.o init.c
arm-linux-gcc -Wall -O2 -c -o leds.o leds.c
arm-linux-ld -Tmmu.lds -o mmu_elf head.o init.o leds.o
arm-linux-ld: cannot find head.o,init.o
make: *** [mmu.bin] Error 1
root@ubuntu:/program/mmu1# ls -l
total 36
-rw-r--r-- 1 root root  912 2012-04-13 22:06 head.o
-rwxrwxrwx 1 root root  901 2012-04-13 21:34 head.S
-rwxrwxrwx 1 root root 6414 2012-04-13 21:34 init.c
-rw-r--r-- 1 root root 1284 2012-04-13 22:06 init.o
-rwxrwxrwx 1 root root  987 2012-04-13 21:34 leds.c
-rw-r--r-- 1 root root  704 2012-04-13 22:06 leds.o
-rwxrwxrwx 1 root root  316 2012-04-13 21:34 Makefile
-rwxrwxrwx 1 root root   91 2012-04-13 21:34 mmu.lds
把.o文件也改成-rwxrwxrwx属性,再make还是同样的错误。

出0入0汤圆

发表于 2012-4-14 14:01:15 | 显示全部楼层
不要用root来make
用普通用户来make
在普通用户下 chmod

出0入0汤圆

 楼主| 发表于 2012-4-14 21:31:00 | 显示全部楼层
tyblly 发表于 2012-4-14 14:01
不要用root来make
用普通用户来make
在普通用户下 chmod

朋友,刚才按照你的方法又试了一下,还是不行哦。
我的交叉工具链是TQ2440开发板光盘里提供的。
解压出来,设置好环境变量就可以用了吧?
是不是还需要自己设置些什么呢?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 17:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表