assembly – gnu链接器:文件无法识别
发布时间:2020-12-16 07:04:28 所属栏目:百科 来源:网络整理
导读:这是我的makefile: obj =init3.o initfunc.o descriptor.o disk.oinit:$(obj) ld -o init.out $(obj)init3.o:init3.asm nasm -f aout init3.asminitfunc.o:initfunc.asm nasm -f aout initfunc.asmdescriptor.o:../lib/descriptor.asm nasm -f aout ../lib/
这是我的makefile:
obj =init3.o initfunc.o descriptor.o disk.o init:$(obj) ld -o init.out $(obj) init3.o:init3.asm nasm -f aout init3.asm initfunc.o:initfunc.asm nasm -f aout initfunc.asm descriptor.o:../lib/descriptor.asm nasm -f aout ../lib/descriptor.asm disk.o:../drive/disk.asm nasm -f aout ../drive/disk.asm 他们编译完全没有错,但是当链接器开始链接时,出现错误:文件无法识别:文件格式无法识别. 解决方法
FWIW:在重新运行make之前删除你的.o文件.调整编译器标志后很容易忘记这一点. (我正在谈论经验……)
说明:调整makefile不会强制执行重新编译(除非你将makefile本身指定为makefile中每个规则的依赖项;这可能不是一个坏主意).您有可能一遍又一遍地链接相同的旧对象文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |